基于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 写类方式之八
Jul 05 Javascript
一个网马的tips实现分析
Nov 28 Javascript
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
Jan 15 Javascript
判断一个变量是数组Array类型的方法
Sep 16 Javascript
jquery改变tr背景色的示例代码
Dec 28 Javascript
javascript模块化简单解析
Apr 07 Javascript
浅谈JavaScript for循环 闭包
Jun 22 Javascript
代码详解javascript模块加载器
Mar 04 Javascript
react实现移动端下拉菜单的示例代码
Jan 16 Javascript
小程序选项卡以及swiper套用(跨页面)
Jun 19 Javascript
解决VUE-Router 同一页面第二次进入不刷新的问题
Jul 22 Javascript
js利用iframe实现选项卡效果
Aug 09 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
header跳转和include包含问题详解
2012/09/08 PHP
textarea的value是html文件源代码,存成html文件的代码
2007/04/20 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
2013/08/18 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
JS实现让访问者自助选择网页文字颜色的方法
2015/02/24 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
jquery左右全屏大尺寸多图滑动效果代码分享
2015/08/28 Javascript
ANGULARJS中使用JQUERY分页控件
2015/09/16 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
BootStrap入门教程(三)之响应式原理
2016/09/19 Javascript
js实现简单的手风琴效果
2017/02/27 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
VUE2.0+ElementUI2.0表格el-table循环动态列渲染的写法详解
2018/11/30 Javascript
浅谈JavaScript中的“!!”作用
2020/08/03 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
[03:04]2018年度DOTA2玩家最喜爱的主播-完美盛典
2018/12/16 DOTA
跟老齐学Python之做一个小游戏
2014/09/28 Python
跟老齐学Python之编写类之四再论继承
2014/10/11 Python
用实例解释Python中的继承和多态的概念
2015/04/27 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
2018/01/04 Python
Python实现合并同一个文件夹下所有PDF文件的方法示例
2018/04/28 Python
浅谈Python爬虫基本套路
2019/03/25 Python
Python Django框架实现应用添加logging日志操作示例
2019/05/17 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
pandas 数据类型转换的实现
2020/12/29 Python
纯css3实现思维导图样式示例
2018/11/01 HTML / CSS
利用HTML5 Canvas制作键盘及鼠标动画的实例分享
2016/03/15 HTML / CSS
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
艺术应用与设计专业个人的自我评价
2013/11/19 职场文书
学习雷锋精神心得体会范文
2014/03/12 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
2014年创卫工作总结
2014/11/24 职场文书
单身申明具结书
2015/02/26 职场文书
校运会新闻稿
2015/07/17 职场文书
Python实现DBSCAN聚类算法并样例测试
2021/06/22 Python