select2下拉框多选插件的使用

2 篇文章 0 订阅
1 篇文章 0 订阅

首先,需要引入插件的两个文件

<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();

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值