首先,需要引入插件的两个文件
<link rel="stylesheet" href="../css/select2.min.css" />
<script type="text/javascript" src="../js/select2.min.js" ></script>
下边是html代码(加了全选功能)
<div>
<div class="title" style="float: right;">
<div class="float_r">
<input type="checkbox" id="chkdwall" class="regular-checkbox">
<!--<label for="chkdwall"></label>-->
<span style="font-size: 0.16rem;
display: inline-block;">全选</span>
</div>
</div>
<select class="js-example-basic-multiple" id="seldwxz" multiple="multiple" style="width:55%; margin: 0 auto; float: left;">
<!--<option value="AL">Alabama</option>
<option value="WY">Wyoming</option>-->
</select>
</div>
JS代码
//声明刷新
$(".js-example-basic-multiple").select2();
layui.use('layer', function() {
var $ = layui.jquery, layer = layui.layer;
})
var html="";
var object=[];
//下边是获取的值,给下拉框赋值
$.each(dianweiList,function(index,val){
object.push(val.ID);
html +=" <option value='"+val.ID+"'>"+val.NAME+"</option>";
})
console.log(object);
$("#seldwxz").append(html);
$("#chkdwall").change(function(){
if($('#chkdwall').is(':checked')){
$("#seldwxz").val(object).trigger('change');
}else{
$("#seldwxz").val('').trigger('change');
}
})
Ajax请求新增时传值给后台
//这是获取的数组格式,把它改为字符串 传值给后台
var addusercode = "";
var temp = body.find("#seldwxz").val()
addusercode = temp.join(",");
console.log(addusercode);
获取接口中的多选时
var resultCode = data.oneUser.CODE.split(",");//后台传回来的值,字符串隔开
if(resultCode!=""){
var seldwxz = document.getElementById("seldwxz");//获取下拉框的值
for(var i=0;i<seldwxz.length; i++){
var checkBoxVal = seldwxz[i].value;
if(checkBoxVal == resultCode[i]){
seldwxz[i].selected = true; //后台的值与下拉列表的某一个value相等,就选中
}
}
}
最后:重新渲染一下下拉框插件,否则就是只有option选中,而input框里没有显示的文本
$(".js-example-basic-multiple").select2();