bootstrap-multiselect.js多选下拉框初始化时默认选中初始值

时间:2023-03-09 08:26:42
bootstrap-multiselect.js多选下拉框初始化时默认选中初始值

bootstrap-multiselect.js多选下拉框默认值设置

一、案例数据格式 
bootstrap-multiselect.js多选下拉框初始化时默认选中初始值

二、HTML代码

<select id="msgRoles" multiple="multiple" class="validate[required]"></select>
  • 1

三、原始数据加载方法

//复选下拉框
function loadMultiSelect(id, data) {
var html = '';
for (var i = 0; i < data.length; i++) {
html += "<option value='" + data[i].value + "'>" + data[i].text+ "</option>";
}
$("#" + id).html(html);
}

四、重写数据加载方法(可判断初始化默认选中数据)

jQueryAjaxAsync("/systemRoleAction/roleListbox",null, function(res) {
var Data = JSON.parse(res);
console.log(Data)
//注释了原有加载下拉框的方法
// loadMultiSelect("msgRoles", Data);
var myMap = new Map();
for(var j=0;j<Data.length;j++){
//塞入键值对
myMap.set(Data[j].text,Data[j].value);
}
console.log(myMap);
var mm=[];
myMap.forEach(function(value, key) {
//此部分应该获取后台初始选中的值,进行判断,给其加上selected:true属性
if(value==100003 || value==100004){//写死的数据
mm.push({label:key,value:value,selected:true})
}else {
mm.push({label:key,value:value});
}
})
console.log(mm);
$("#msgRoles").multiselect('dataprovider', mm);
$("#msgRoles").multiselect({
buttonWidth : '30%',
maxHeight : 150
});
$('#msgRoles').multiselect('refresh');
五、案例图 

bootstrap-multiselect.js多选下拉框初始化时默认选中初始值