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

天涯浪子 提交于 2020-03-18 13:25:06

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');五、案例图 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!