我正在使用jquery-1.12.3.min.js并动态获取select
的选项function loadCompanies() {
if ($("#isSubsidiaryCompany").is(":checked")) {
$.ajax({
type : "GET",
url : "get_companies",
success : function(data) {
$.each(data, function(i, data) {
$('#companiesList').append($('<option>', {
value : data.id,
text : data.name
}));
});
}
})
$("#companiesSelect").show();
$('#companiesList').val(data.id);
} else {
$("#companiesSelect").hide();
}
我想设置选项,但$('#companiesList').val(data.id)
不起作用,你能否建议我做到这一点的正确方法,提前谢谢
答案 0 :(得分:4)
您正在设置AJAX回调函数之外的值。这意味着这些选项无法保证它们会存在。将代码放入成功回调中:
if ($("#isSubsidiaryCompany").is(":checked")) {
$.ajax({
type : "GET",
url : "get_companies",
success : function(data) {
$.each(data, function(i, data) {
$('#companiesList').append($('<option>', {
value : data.id,
text : data.name
}));
});
$("#companiesSelect").show(); // < === HERE ===
$('#companiesList').val(data.id);
}
})
// ...
另外,您在data
中指的是哪个.val(data.id)
?
答案 1 :(得分:0)
$(&#39;#companiesList&#39)。VAL(data.id)
我认为您的数据对象存在问题。请确保data.id shoudl包含一些内容。