bootstrap-select multiple的回显与选中!

穆彬郁
2023-12-01

$.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");

这样就可以正常显示了、且下拉框也已经选中

 类似资料: