基于BootStrap multiselect.js实现的下拉框联动效果


Posted in Javascript onJuly 28, 2017

背景:当option特别多时,一般的下拉框选择起来就有点力不从心了,所以使用multiselect是个很好的选择,可以通过输入文字来选择选项很方便,但是有一个需要下拉框联动,网上找了半天才找到解决方法,在此分享一下

1、先引入

<script src="~/Assets/js/bootstrap-multiselect.min.js"></script>
  <link href="~/Assets/css/bootstrap-multiselect.css" rel="external nofollow" rel="stylesheet" />

然后全局定义

function RegSelect() {
      $('.multiselect').multiselect({
        buttonClass: 'btn btn-white ',
        enableFiltering: true,
        enableHTML: true,
        includeSelectAllOption: true,
        selectAllText: '全选',
        allSelectedText: '全部选中',
        nonSelectedText: '请选择',
        nSelectedText: '个被选中',
        templates: {
          button: '<button type="button" class="multiselect dropdown-toggle" data-toggle="dropdown"><span class="multiselect-selected-text"></span>  <b class="fa fa-caret-down"></b></button>',
          ul: '<ul class="multiselect-container dropdown-menu"></ul>',
          filter: '<li class="multiselect-item filter"><div class="input-group"><span class="input-group-addon"><i class="fa fa-search"></i></span><input class="form-control multiselect-search" type="text"></div></li>',
          filterClearBtn: '<span class="input-group-btn"><button class="btn btn-default btn-white btn-grey multiselect-clear-filter" type="button"><i class="fa fa-times-circle red2"></i></button></span>',
          li: '<li><a tabindex="0"><label></label></a></li>',
          divider: '<li class="multiselect-item divider"></li>',
          liGroup: '<li class="multiselect-item multiselect-group"><label></label></li>'
        }
      });
    }

只需要在页面加载时RegSelect();(只能调用一次,不然会出现问题)就可以了

2、两个下拉框

<div class="form-group">
          <label for="RepairOrg" class="col-sm-3 control-label">维修单位</label>
          <div class="col-sm-9">
            @Html.DropDownList("RepairOrgUID", ViewBag.OrgList as List<SelectListItem>, "请选择", new { @class = "form-control multiselect", onchange = "OrgChange(this)", id = "RepairOrg" })
          </div>
        </div>
        <div class="form-group">
          <label for="RepairContact" class="col-sm-3 control-label">维修人</label>
          <div class="col-sm-9">
            @Html.DropDownList("RepairContactUID", ViewBag.ContactList as List<SelectListItem>, "请选择", new { @class = "form-control multiselect", id = "RepairContact" })
          </div>
        </div>

3、js代码

function OrgChange(obj, patientID) {
      var RepairOrg = $(obj).val();
      $.post("/TerminalManage/GetContactByOrg", { RepairOrg: RepairOrg }, function (data) {     
        var newCitys = new Array();
        var obj = new Object();
        obj = {
          label: "请选择",
          value: ""
        };
        newCitys.push(obj);
        for (var i = 0; i < data.length; i++) {
          obj = {
            label: data[i].Text,
            value: data[i].Value
          };
          newCitys.push(obj);
        }
        $("#RepairContact").multiselect('dataprovider', newCitys);
        $('#RepairContact').multiselect('refresh');
      });
    }

总结

以上所述是小编给大家介绍的基于BootStrap multiselect.js实现的下拉框联动,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
setTimeout 不断吐食CPU的问题分析
Apr 01 Javascript
学习ExtJS(二) Button常用方法
Oct 07 Javascript
jquery ready()的几种实现方法小结
Jun 18 Javascript
jquery异步调用页面后台方法&amp;#8207;(asp.net)
Mar 01 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
May 28 Javascript
jquery+ajax验证不通过也提交表单问题处理
Dec 12 Javascript
javascript常用函数(1)
Nov 04 Javascript
快速移动鼠标触发问题及解决方法(ECharts外部调用保存为图片操作及工作流接线mouseenter和mouseleave)
Aug 29 Javascript
vue系列之动态路由详解【原创】
Sep 10 Javascript
JavaScript实现全选取消效果
Dec 14 Javascript
React实现全局组件的Toast轻提示效果
Sep 21 Javascript
vue 实现走马灯效果
Oct 28 Javascript
基于JS实现移动端左滑删除功能
Jul 28 #Javascript
Vue2.0 多 Tab切换组件的封装实例
Jul 28 #Javascript
webpack实现热更新(实施同步刷新)
Jul 28 #Javascript
BootStrap Fileinput上传插件使用实例代码
Jul 28 #Javascript
解决React Native端口号修改的方法
Jul 28 #Javascript
vue+vux实现移动端文件上传样式
Jul 28 #Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
Jul 28 #Javascript
You might like
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
浅谈json_encode用法
2015/03/05 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
javascript 广告后加载,加载完页面再加载广告
2010/11/25 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
玩转方法:call和apply
2014/05/08 Javascript
javascript实现根据身份证号读取相关信息
2014/12/17 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
js实现随机抽选效果、随机抽选红色球效果
2017/01/13 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
详解vue.js的devtools安装
2017/05/26 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
ant design vue datepicker日期选择器中文化操作
2020/10/28 Javascript
Python实现的微信公众号群发图片与文本消息功能实例详解
2017/06/30 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
python中退出多层循环的方法
2018/11/27 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
2019/02/16 Python
python实现基于朴素贝叶斯的垃圾分类算法
2019/07/09 Python
python实现将文件夹内的每张图片批量分割成多张
2019/07/22 Python
pytorch 在sequential中使用view来reshape的例子
2019/08/20 Python
python Web flask 视图内容和模板实现代码
2019/08/23 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
通过python实现windows桌面截图代码实例
2020/01/17 Python
法国家具及室内配件店:home24
2017/01/21 全球购物
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
大学生创业计划书的用途
2014/01/08 职场文书
幼儿园大班新学期寄语
2014/01/18 职场文书
运动会入场解说词
2014/02/07 职场文书
机关作风整顿个人整改措施2014
2014/09/17 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
国庆阅兵观后感
2015/06/15 职场文书
Python爬虫基础之初次使用scrapy爬虫实例
2021/06/26 Python