自白:bootStrap-select利用js拼装option时,和html的select有所不同
bootstrap-select需要把要拼装的option先转换成 字符串 ,而原生态的select可以不需要,(不对之处,请斧正,勿喷!)
js代码
function findRoleForBootstrapSelect(CompanentId) {
$.ajax({
url: '。。。。。',
type: 'post',
dataType: 'json',
success: function (data) {
var len = data.length;
//此处仅可以使原生态的select加载后台数据
$("#" + CompanentId + "").find('option').remove();
$("#" + CompanentId).append($('<option value=\'\'>' + "---请选择---" + '</option>'));
for (i = 0; i < len; i++) {
$("#" + CompanentId).append($('<option value=' + data[i].ID + '>' + data[i].ROLENAME + '</option>'));
}
//下面的,可是bootstrap-select成功加载到后台传过来的数据
var optionString = "";
for (i = 0; i < len; i++) {
optionString += "<option value=\'"+ data[i].ID +"\'>" + data[i].ROLENAME + "</option>";
}
var myobj = document.getElementById(CompanentId);
if (myobj.options.length == 0)
{
$("#" + CompanentId).html(optionString);
$("#" + CompanentId).selectpicker('refresh');
}
}
})
}