在選擇框中選擇」正確的選擇」我有下面的代碼是用來填充一個選擇框:如何設置值,並有使用jquery
$(document).ready(function(){
//populate site list.
$.ajax({
url:"<?php echo site_url('site/sitelist');?>",
type:'POST',
dataType:'json',
success: function(res) {
//loop through results
var htmlstring = "<option value='' disabled selected>Select the Site</option>";
for (var key in res) {
if (res.hasOwnProperty(key)) {
//console.log(key + " -> " + res[key]['site_abbrev']);
htmlstring += "<option value=" + res[key]['site_abbrev'] + ">" + res[key]['name'] + "</option>";
}
}
$('#site').append(htmlstring);
},
error: function(xhr, req, err) {
var err = eval("(" + xhr.responseText + ")");
console.log(err.Message);
}
});
var $site_val = $('#hidden_site').val();
console.log($site_val);
if ($site_val !== 'undefined') {
$('#site').val($site_val);
}
});
這是靜態的HTML代碼,我在開始時:
<!--use to populate select after form is displayed -->
<input type="hidden" id="hidden_site" name="hidden_site" value="<?php echo($details['site']);?>"/>
<select class="form-control" placeholder="Site:" name="site" id="site">
</select>
當我運行這段代碼,我可以看到在控制檯包含我的網站信息 變量的VAL「CAN」打印,但我似乎無法得到它的選擇從下拉菜單中選擇「加拿大」選項(其值爲「CAN」)。
編輯1
的代碼將無法正常工作,但在控制檯中我嘗試這樣做:
$("#site option[value='CAN'").prop('selected',true)
證明「加拿大」具有CAN的值。現在我看到選擇了加拿大選項。但迄今爲止發佈的答案都沒有爲我工作。 :/
我也嘗試這兩種:
$('#site option[value="' + $site_val + '"]').prop('selected', true);
//$('#site option[value="' + $site_val + '"]').attr('selected','selected');
EDIT 2
這個版本也將失敗。
var $site_val = $('#hidden_site').val();
console.log($site_val); //prints CAN
if ($site_val !== 'undefined') {
$('#site option[value="' + $site_val + '"]').change();
//$('#site option[value="' + $site_val + '"]').prop('selected', true);
//$('#site option[value="' + $site_val + '"]').attr('selected','selected');
}
嘗試$(「#站點選項[值=‘‘+ $ site_val +’’]」) –
你要選擇具有一定的價值或設置選擇框的值的選項? – RomanPerekhrest
@RomanPerekhrest是的,我想選擇一個使用該值的選項。所以我有一個名爲「加拿大」的選項,其值爲「CAN」。我想讓加拿大成爲選定的選項... – Happydevdays