当前位置: 首页 > 工具软件 > multiselect > 使用案例 >

multiselect多选下拉框的使用,回显,清空

施知
2023-12-01

实现基于bootstrap-multiselect多选框的选择、回显、清空
1、先引用对应的js与css

<script type="text/javascript" src="/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
<link rel="stylesheet" href="/bootstrap/css/bootstrap.css" type="text/css"/>			
<script type="text/javascript" src="/js/bootstrap-multiselect.js"></script>
<link rel="stylesheet" href="/css/bootstrap-multiselect.css" type="text/css"/>

2、html代码

<div id="mulDiv">
<select class="form-control" id="multiselect" multiple> <!-- 这里加上multiple为多选-->
	<option value="1">广东</option>
	<option value="2">广西</option>
	<option value="3">湖南</option>
	<option value="4">江西</option>
<select>
<div>

3、js代码

$(fucntion(){
	//初始化
	$("#multiselect").multiselect({   
		buttonWidth:150px, //这里可以设置多选框的样式等各种属性
    });
    //获取多选框的值,和一般获取值一样,只是获取到的是一个数组,如果要转为string,可以先判断非空后  .toString();即可
    var multiselectarr =$("#multiselect").val();
    //多选的回显,比如后台传过来的该字段的值为:multiselect_str = 1,2,3
    if(multiselect_str .indexOf(",")>-1){
    	var multiselect_arr = multiselect_str.split(",");//以逗号分割为数组
    	var multiselect_arr2 = [];//定义一个空数组
    	for(var i=0;i<multiselect_arr.length;i++){
    		multiselect_arr2.push(multiselect_arr[i]);
    	}
    	$("#multiselect").multiselect('select',multiselect_arr2);//原本直接把分割的数组multiselect_arr 放进去不生效
    }else{//如果返回的只是multiselect_str = 2
		$("#multiselect").multiselect('select',[multiselect_str ]);
	}
	//多选框的清空
	$("select option").attr("selected",false);
	$("#multiselect input[type='checkbox']").each(fucntion(){this.checked=false;});//把这个div下的input为checkbox的清空
	$("li").removeClass("active");//把每一个下拉选项的li的class属性的active去掉
});
 类似资料: