基于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一些不错的函数脚本代码
Sep 10 Javascript
js的闭包的一个示例说明
Nov 18 Javascript
jQuery 全选效果实现代码
Mar 23 Javascript
关于JavaScript的with 语句的使用方法
May 09 Javascript
JS实现自适应高度表单文本框的方法
Feb 25 Javascript
基于jquery实现放大镜效果
Aug 17 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
Jan 27 Javascript
详解能在多种前端框架下使用的表格控件
Jan 11 Javascript
利用JS实现scroll自定义滚动效果详解
Oct 17 Javascript
Node.js创建HTTP文件服务器的使用示例
May 11 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
Jul 17 Javascript
Puppet的一些技巧
Sep 17 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
swfupload 多文件上传实现代码
2008/08/27 PHP
Codeigniter购物车类不能添加中文的解决方法
2014/11/29 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
js中的escape及unescape函数的php实现代码
2007/09/04 Javascript
国外的为初学者写的JavaScript教程
2008/06/09 Javascript
用JavaScript修改CSS属性的代码
2013/05/06 Javascript
JQuery对id中含有特殊字符的转义处理示例
2013/09/06 Javascript
Javascript 按位左移运算符使用介绍(
2014/02/04 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
EasyUI实现二级页面的内容勾选的方法
2015/03/01 Javascript
Backbone.js 0.9.2 源码注释中文翻译版
2015/06/25 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
2016/04/15 Javascript
vue.js表格分页示例
2016/10/18 Javascript
快速解决js中window.location.href不工作的问题
2016/11/02 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
2017/02/20 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
2017/04/07 Javascript
基于jQuery封装的分页组件
2017/06/26 jQuery
jQuery中复合选择器简单用法示例
2018/03/31 jQuery
vue移动端实现红包雨效果
2020/06/23 Javascript
vue watch深度监听对象实现数据联动效果
2018/08/16 Javascript
创建Vue项目以及引入Iview的方法示例
2018/12/03 Javascript
vue.js实现回到顶部动画效果
2019/07/31 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
分享8个JavaScript库可更好地处理本地存储
2020/10/12 Javascript
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
Python列表list排列组合操作示例
2018/12/18 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
2020/03/16 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
2020/11/05 Python
实习护士自我鉴定
2013/10/13 职场文书
护士找工作求职信
2014/07/02 职场文书
遗嘱格式范本
2015/08/07 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书
Vue.Draggable实现交换位置
2022/04/07 Vue.js
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技