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

本文介绍如何使用bootstrap-multiselect.js插件设置多选下拉框的默认选中项。通过重写数据加载方法,结合Map数据结构,实现特定选项的自动选中,并展示完整的JavaScript实现过程。

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

一、案例数据格式
这里写图片描述

二、HTML代码

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

三、原始数据加载方法

//复选下拉框
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');

五、案例图
这里写图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值