$.ajax({
type: "post",
url: "json",
async: false,
dataType:"json",
success:function(data) {
ModuleTotal = data;
$.each(data, function (index, item) {
$('#txtModuleName').append('<option value="' + item.id+ '" selected="selected" >' + item.name+ '</option>');
});
$('#txtModuleName').selectpicker('refresh');
}
})
在赋值时用selectpicker自带的*$("#txtModuleName").selectpicker(“val”, arr);一直失败、回显为空且下拉框也并未选中、后来经过查阅资料发现还是得用遍历数组的方式、且下拉框的数据一定是要**同步***async: false显示
sysModuleCode为从后台获取到的值;['01','02','03']
var moduleCodeArr = sysModuleCode.split(",");
var str = $("#txtModuleName").val();
if (moduleCodeArr.length > 0) {
var rtype = document.getElementById("txtModuleName");
var sels = $('#txtModuleName option');
for (var i = 0; i < ModuleTotal.length; i++) {
for (var j = 0; j < moduleCodeArr.length; j++) {
if (rtype.options[i].value == moduleCodeArr[j]) {
rtype.options[i].selected = true;
}
}
}
}
$("#txtModuleName").selectpicker("val", moduleCodeArr);
$("#txtModuleName").selectpicker("refresh");
这样就可以正常显示了、且下拉框也已经选中