基于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 相关文章推荐
与jquery serializeArray()一起使用的函数,主要来方便提交表单
Jan 31 Javascript
一些有用的JavaScript和jQuery的片段分享
Aug 23 Javascript
js遍历、动态的添加数据的小例子
Jun 22 Javascript
JavaScript的Module模式编程深入分析
Aug 13 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
Aug 28 Javascript
jQuery实现不断闪烁文字的方法
May 15 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
Oct 28 Javascript
Javascript单例模式的介绍和实例
Oct 08 Javascript
js仿iphone秒表功能 计算平均数
Jan 11 Javascript
jQuery Masonry瀑布流插件使用方法详解
Jan 18 Javascript
vue--点击当前增加class,其他删除class的方法
Sep 15 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
Jun 24 jQuery
基于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实现的QQ空间g_tk加密算法
2015/07/09 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
JavaScript 学习笔记(四)
2009/12/31 Javascript
一个基于jquery的图片切换效果
2010/07/06 Javascript
JavaScript数值数组排序示例分享
2014/05/27 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
详解实现一个通用的“划词高亮”在线笔记功能
2019/04/23 Javascript
uni-app实现点赞评论功能
2019/11/25 Javascript
关于uniApp editor微信滑动问题
2021/01/15 Javascript
[01:15]《辉夜杯》北京网鱼队巡礼
2015/10/26 DOTA
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
详解Python当中的字符串和编码
2015/04/25 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
Python3实现发送QQ邮件功能(html)
2017/12/15 Python
python 处理telnet返回的More,以及get想要的那个参数方法
2019/02/14 Python
python3.4中清屏的处理方法
2020/07/06 Python
Django数据模型中on_delete使用详解
2020/11/30 Python
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
Toppik顶丰增发纤维官网:解决头发稀疏
2017/12/30 全球购物
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
什么叫做SQL注入,如何防止
2016/10/04 面试题
大学生创业策划书
2014/02/02 职场文书
住宅质量保证书
2014/04/29 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
出售房屋协议书范本
2014/10/06 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
2014年护士工作总结范文
2014/11/11 职场文书
护理心得体会范文
2016/01/22 职场文书
python自动化之如何利用allure生成测试报告
2021/05/02 Python
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python
新手入门Jvm-- JVM对象创建与内存分配机制
2021/06/18 Java/Android