bootstrap-select的使用(动态加载select,多选,全选,全不选,设置全选, 设置部分选中)

1. 引入bootstrap-select的css,js   

进入https://www.bootstrapselect.cn官网,下载bootstrap-select.min.css和bootstrap-select.min.js.同时引入bootstrap和juery

 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/css/bootstrap-select.min.css">
    <script src="https://cdn.staticfile.org/jquery/3.2.1/jquery.js"></script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.0/js/bootstrap.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/js/bootstrap-select.min.js"></script>

2.  select的使用

(1)select选择框

<select class="selectpicker" multiple>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
</select>

(2)动态加载select

$(document).ready(function() {

    var obj=document.getElementById('componentId');
       obj.options.length=0;

      $.ajax({
        url: "allComponent",
        method: "post",
        data: {},
        dataType: "json",
        success: function(data) {
        var modelList =data.rows;
        alert(modelList.length);

         if(modelList && modelList.length != 0){
               var options="";
                for(var i=0; i<modelList.length; i++){
            options+="<option value='"+modelList[i].id+"'>"+modelList[i].componentName+"</option>";
                  }
                 $('#componentId').append(options);
                 $('#componentId').selectpicker('refresh');
				 $('#componentId').selectpicker('render');

        }
        }
        });
});

3.通过js控制样式

$("#componentId").selectpicker({
	 showTick: true,
	 liveSearch: true,
	 noneResultsText: "没找到相应记录{0}",
	 actionsBox: true,
	 //取消全选按钮标题
	 deselectAllText: "取消全选",
	 //全选按钮标题
	 selectAllText: "全选",
});

4. juery获取select选中的id

 var checkParam = $('#componentId').find('option:selected');
   var checkId = [];
   for (var i=0;i<checkParam.length;i++) {
    checkId.push(checkParam[i].value);
}
var componentIdValue = checkId.join(',');

5. 后台mapper中使用${}作为in的参数

之前使用#{}只获取第一个值的数据,改为${}获取正确

j.component_id in (${componentId})

6. 设置select全选(1)select设置如下

<select class="selectpicker" multiple>
    <option selected="selected">Mustard</option>
    <option selected="selected">Ketchup</option>
    <option selected="selected">Relish</option>
</select>

(2)动态加载在第2部分中设置selected='selected'for(var i=0; i<modelList.length; i++){ options+="<option value='"+modelList[i].id+"' selected='selected'>"+modelList[i].componentName+"</option>";

 

7. 动态设置部分选中

(1)后台将所有值放到rows中,将选中值放到select中

(2)前台先加载所有rows值,然后将选中的值放到Array的selectNumber中,使用$('#componentId').selectpicker('val',selectNumber);加载选中值。

全部代码如下:

  $.ajax({
        url: "getComponent",
        method: "post",
        data: {},
        dataType: "json",
        success: function(data) {
        var modelList =data.rows;
        var selectList =data.select;
         if(modelList && modelList.length != 0){
               var options="";
                for(var i=0; i<modelList.length; i++){
            options+="<option value='"+modelList[i].id+"'>"+modelList[i].componentName+"</option>";
                  }

                 $('#componentId').append(options);
                var selectNumber = new Array();
                 for(var i=0;i<selectList.length;i++){
                  selectNumber.push(selectList[i].id);
                 }
                 alert(selectNumber);
                  $('#componentId').selectpicker('val',selectNumber);
                 $('#componentId').selectpicker('refresh');
				 $('#componentId').selectpicker('render');


        }
        }
        });
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值