基于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 dom 操作详解 js加强
Jul 13 Javascript
JavaScript DOM 学习第三章 内容表格
Feb 19 Javascript
js 浏览器事件介绍
Mar 30 Javascript
jQuery 联动日历实现代码
May 31 Javascript
jquery获取当前点击对象的value方法
Feb 28 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
Oct 12 Javascript
JS字符串按逗号和回车分隔的方法
Apr 25 Javascript
JS简单生成随机数(随机密码)的方法
May 11 Javascript
Vuex新手的理解与使用详解
May 31 Javascript
JS实现网站吸顶条
Jan 08 Javascript
JavaScript中CreateTextFile函数
Aug 30 Javascript
微信小程序自定义底部弹出框功能
Nov 18 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防盗链的常用方法小结
2010/07/02 PHP
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
jquery统计复选框选中示例
2013/11/05 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
2013/11/23 Javascript
js点击返回跳转到指定页面实现过程
2020/08/20 Javascript
浅析BootStrap模态框的使用(经典)
2016/04/29 Javascript
js实现div在页面拖动效果
2016/05/04 Javascript
Nodejs中解决cluster模块的多进程如何共享数据问题
2016/11/10 NodeJs
javascript数据类型详解
2017/02/07 Javascript
Vuex之理解Getters的用法实例
2017/04/19 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
2018/08/24 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
在vue中动态添加class类进行显示隐藏实例
2019/11/09 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
详解datagrid使用方法(重要)
2020/11/06 Javascript
Python中max函数用法实例分析
2015/07/17 Python
Python用Bottle轻量级框架进行Web开发
2016/06/08 Python
Python中文件I/O高效操作处理的技巧分享
2017/02/04 Python
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
Linux下python3.7.0安装教程
2018/07/30 Python
Python后台管理员管理前台会员信息的讲解
2019/01/28 Python
巴西最大的体育用品商城:Netshoes巴西
2016/11/29 全球购物
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
PHP如何与mysql建立链接
2013/05/05 面试题
英语道歉信范文
2014/01/09 职场文书
优良学风班申请材料
2014/02/13 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
神农溪导游词
2015/02/11 职场文书
小浪底导游词
2015/02/12 职场文书
承诺保证书格式
2015/02/28 职场文书
离婚起诉书怎么写
2015/05/19 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
西游降魔篇观后感
2015/06/15 职场文书
领导欢送会主持词
2015/07/06 职场文书
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记