基于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 相关文章推荐
javascript  Error 对象 错误处理
May 18 Javascript
javascript document.compatMode兼容性
Feb 23 Javascript
jQuery 核心函数以及jQuery对象
Mar 23 Javascript
Raphael带文本标签可拖动的图形实现代码
Feb 20 Javascript
JavaScript Array对象扩展indexOf()方法
May 09 Javascript
详解JavaScript的回调函数
Nov 20 Javascript
js判断移动端是否安装某款app的多种方法
Dec 18 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
Nov 29 Javascript
详解vue表单验证组件 v-verify-plugin
Apr 19 Javascript
浅谈微信小程序flex布局基础
Sep 10 Javascript
Vue.js 父子组件通信的十种方式
Oct 30 Javascript
elementUI select组件使用及注意事项详解
May 29 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之变量、常量学习笔记
2008/03/27 PHP
php实现图片等比例缩放代码
2015/07/23 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
JavaScript数值数组排序示例分享
2014/05/27 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
Javascript学习笔记之函数篇(六) : 作用域与命名空间
2014/11/23 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
2018/07/13 jQuery
VUE-Table上绑定Input通过render实现双向绑定数据的示例
2018/08/27 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
Python编程中的异常处理教程
2015/08/21 Python
python爬虫框架talonspider简单介绍
2017/06/09 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
python负载均衡的简单实现方法
2018/02/04 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
兰蔻加拿大官方网站:Lancome加拿大
2016/08/05 全球购物
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
VIVOBAREFOOT赤脚鞋:让您的脚做自然的事情
2017/06/01 全球购物
Bailey帽子官方商店:Bailey Hats
2018/09/25 全球购物
暑期社会实践方案
2014/02/05 职场文书
会计专业个人自我鉴定
2014/03/21 职场文书
小学生中国梦演讲稿
2014/04/23 职场文书
理财学专业自荐书
2014/06/28 职场文书
甜品店创业计划书
2014/09/21 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
2014年德育工作总结
2014/11/20 职场文书
监察建议书
2015/02/04 职场文书
爱护公物主题班会
2015/08/17 职场文书
2016年社区服务活动总结
2016/04/06 职场文书
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/07 其他游戏