JS组件中bootstrap multiselect两大组件较量


Posted in Javascript onJanuary 26, 2016

两个这种组件,大体样式和功能基本相同,本文就来带领大家看看这两个组件的用法。

一、组件说明以及API
1、第一个组件——multiple-select。这个组件风格简单、文档全、功能强大。但是觉得它选中的效果不太好。关于它的效果展示,我们放在后面。

2、第二个组件——bootstrap-multiselect。这个组件风格和第一个非常相似,文档也挺全面。

二、Multiple-select组件
1、组件说明
这个组件需要的浏览器支持如下:

  • IE 7+
  • Chrome 8+
  • Firefox 10+
  • Safari 3+
  • Opera 10.6+

还好,一般主流的浏览器都能够支持。

2、效果预览
 (1)原始的MultiSelect

JS组件中bootstrap multiselect两大组件较量

(2)初始化的Multiple Select

JS组件中bootstrap multiselect两大组件较量

JS组件中bootstrap multiselect两大组件较量

 JS组件中bootstrap multiselect两大组件较量

(3)设置选中和禁用

JS组件中bootstrap multiselect两大组件较量

(4)设置分组

JS组件中bootstrap multiselect两大组件较量

(5)设置未选中的初始值:请选择

JS组件中bootstrap multiselect两大组件较量

(6)初始化成单选

JS组件中bootstrap multiselect两大组件较量

(7)设置组件的筛选功能

JS组件中bootstrap multiselect两大组件较量

JS组件中bootstrap multiselect两大组件较量

3、代码示例
既然是bootstrap的组件,肯定需要bootstrap的支持。我们来看看需要引用的js

@*Jquery*@
 <script src="~/Scripts/jquery-1.10.2.min.js"></script>

 @*bootstrap*@
 <script src="~/Content/bootstrap/js/bootstrap.min.js"></script>
 <link href="~/Content/bootstrap/css/bootstrap.min.css" rel="stylesheet" />

 @*multiple-select*@
 <script src="~/Content/multiselect_wenzhixin/multiple-select-master/multiple-select.js"></script>
 <link href="~/Content/multiselect_wenzhixin/multiple-select-master/multiple-select.css" rel="stylesheet" />

 @*页面js*@
 <script src="~/Scripts/Home/Index_wenzhixin.js"></script>

(1)原始的初始化

<label class="control-label col-xs-1" for="sel_search_orderstatus">多选站点</label>
   <div class="col-xs-2" style="margin-top:7px;">
    <select id="sel_search_orderstatus" style="width:150px" multiple="multiple">
    <option value="0">未排产</option>
    <option value="5">已排产</option>
    <option value="10">已锁定</option>
    <option value="25">在制</option>
    <option value="20">订单提交</option>
    <option value="30">订单删除</option>
    <option value="50">订单报废</option>
    </select>
   </div>
$(function () {
 $('#sel_search_orderstatus').multipleSelect();
})

(2)设置选中和禁用

<label class="control-label col-xs-1" for="sel_search_orderstatus2">disabled Select</label>
   <div class="col-xs-2" style="margin-top:7px;">
    <select id="sel_search_orderstatus2" style="width:150px" multiple="multiple">
    ......
    </select>
   </div>
$(function () {
 $('#sel_search_orderstatus2').multipleSelect();
})

(3)设置分组和初始值

<label class="control-label col-xs-1" for="sel_search_orderstatus3">分组</label>
   <div class="col-xs-2" style="margin-top:7px;">
    <select id="sel_search_orderstatus3" style="width:150px" multiple="multiple">
    <optgroup label="未上线">
     <option value="0">未排产</option>
    </optgroup>
    <optgroup label="已上线">
     <option value="5">已排产</option>
     <option value="10">已锁定</option>
     <option value="25">在制</option>
     <option value="20">订单提交</option>
    </optgroup>
    <optgroup label="异常">
     <option value="30">订单删除</option>
     <option value="50">订单报废</option>
    </optgroup>
    </select>
   </div>

$(function () {
 $('#sel_search_orderstatus3').multipleSelect({
 placeholder: "请选择"
 });
})

(4)单选

<label class="control-label col-xs-1" for="sel_search_orderstatus4">单选</label>
   <div class="col-xs-2" style="margin-top:7px;">
    <select id="sel_search_orderstatus4" style="width:150px" multiple="multiple">
    .......
    </select>
   </div>
$(function () {
 $('#sel_search_orderstatus4').multipleSelect({
 placeholder: "请选择",
 single: true
 });
})

(5)筛选

<label class="control-label col-xs-1" for="sel_search_orderstatus5">筛选</label>
   <div class="col-xs-2" style="margin-top:7px;">
    <select id="sel_search_orderstatus5" style="width:150px" multiple="multiple">
    ......
    </select>
   </div>
$(function () {
 $('#sel_search_orderstatus5').multipleSelect({
 placeholder: "请选择",
 filter: true
 });
})

(6)如果你的multiple select不想要默认的初始值,可以在初始化的时候去设置他们的值。如下是源码里面的默认参数列表。

JS组件中bootstrap multiselect两大组件较量

三、Bootstrap-multiselect组件
1、代码示例
初始化的过程和上面的类似,首先引用文件。

<script src="~/Scripts/jquery-1.10.2.min.js"></script>

 <script src="~/Content/bootstrap/js/bootstrap.min.js"></script>
 <link href="~/Content/bootstrap/css/bootstrap.min.css" rel="stylesheet" />

 <script src="~/Content/multiselect_davidstutz/js/bootstrap-multiselect.js"></script>
 <link href="~/Content/multiselect_davidstutz/css/bootstrap-multiselect.css" rel="stylesheet" />

 <script src="~/Scripts/Home/Index_davidstutz.js"></script>

(1)最原始的初始化

<label class="control-label col-xs-1" for="sel_search_orderstatus">多选站点</label>
   <div class="col-xs-2" style="margin-top:7px;">
    <select id="sel_search_orderstatus" style="width:150px" multiple="multiple">
    <option value="0">未排产</option>
    <option value="5">已排产</option>
    <option value="10">已锁定</option>
    <option value="25">在制</option>
    <option value="20">订单提交</option>
    <option value="30">订单删除</option>
    <option value="50">订单报废</option>
    </select>
   </div>

$(function () {
 $('#sel_search_orderstatus').multiselect();
});

(2)设置选中和禁用

<label class="control-label col-xs-1" for="sel_search_orderstatus2">disabled Select</label>
   <div class="col-xs-2" style="margin-top:7px;">
    <select id="sel_search_orderstatus2" style="width:150px" multiple="multiple">
    <option value="0">未排产</option>
    <option value="5" selected="selected">已排产</option>
    <option value="10" selected="selected">已锁定</option>
    <option value="25" disabled="disabled">在制</option>
    <option value="20" disabled="disabled">订单提交</option>
    <option value="30" disabled="disabled" selected="selected">订单删除</option>
    <option value="50">订单报废</option>
    </select>
   </div>

(3)分组

<label class="control-label col-xs-1" for="sel_search_orderstatus3">分组</label>
   <div class="col-xs-2" style="margin-top:7px;">
    <select id="sel_search_orderstatus3" style="width:150px" multiple="multiple">
    <optgroup label="未上线">
     <option value="0">未排产</option>
    </optgroup>
    <optgroup label="已上线">
     <option value="5">已排产</option>
     <option value="10" selected="selected">已锁定</option>
     <option value="25" disabled="disabled">在制</option>
     <option value="20">订单提交</option>
    </optgroup>
    <optgroup label="异常">
     <option value="30">订单删除</option>
     <option value="50">订单报废</option>
    </optgroup>
    </select>
   </div>

$(function () {
 $('#sel_search_orderstatus3').multiselect({
 enableCollapsibleOptGroups: true
 });
});

其他效果的代码就不一一展示了,代码很简单,看看文档基本没啥问题。

如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap学习教程 Bootstrap实战教程

以上就是两种多选组件的效果展示以及简单的代码示例。至于哪种更好全凭自己的感觉,使用起来都挺简单,功能基本类似,希望这篇文章对大家的学习有所帮助。

Javascript 相关文章推荐
use jscript Create a SQL Server database
Jun 16 Javascript
Stop SQL Server
Jun 21 Javascript
jQuery1.6 使用方法二
Nov 23 Javascript
Jquery获取和修改img的src值的方法
Feb 17 Javascript
jquery实现简单的二级导航下拉菜单效果
Sep 07 Javascript
基于Bootstrap3表格插件和分页插件实例详解
May 17 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
Jul 22 Javascript
Json按某个键的值进行排序
Dec 22 Javascript
jQuery源码分析之init的详细介绍
Feb 13 Javascript
深入理解Vue 的条件渲染和列表渲染
Sep 01 Javascript
vue2.0 实现导航守卫(路由守卫)
May 21 Javascript
详解Vue组件之间通信的七种方式
Apr 14 Javascript
JS组件Form表单验证神器BootstrapValidator
Jan 26 #Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
Jan 26 #Javascript
Bootstrap树形组件jqTree的简单封装
Jan 25 #Javascript
javascript实现2016新年版日历
Jan 25 #Javascript
基于javascript实现图片左右切换效果
Jan 25 #Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
Jan 25 #Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
Jan 25 #Javascript
You might like
用文本文件制作留言板提示(上)
2006/10/09 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
php使用cookie保存用户登录的用户名实例
2015/01/26 PHP
Javascript 刷新全集常用代码
2009/11/22 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
jquery实现按Enter键触发事件示例
2013/09/10 Javascript
jquery改变disabled的boolean状态的三种方法
2013/12/13 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
原生js编写设为首页兼容ie、火狐和谷歌
2014/06/05 Javascript
jquery实现简单文字提示效果
2015/12/02 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
动态JavaScript所造成一些你不知道的危害
2016/09/25 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
jQuery实现Select下拉列表进行状态选择功能
2017/03/30 jQuery
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
2019/10/29 Javascript
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
使用beaker让Facebook的Bottle框架支持session功能
2015/04/23 Python
利用python对Excel中的特定数据提取并写入新表的方法
2018/06/14 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
python判断链表是否有环的实例代码
2020/01/31 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
python2和python3哪个使用率高
2020/06/23 Python
Python自动创建Excel并获取内容
2020/09/16 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
美国隐形眼镜销售网站:ContactsDirect
2017/10/28 全球购物
个性化皮包、小袋、生活配件:Mon Purse
2019/03/26 全球购物
Android面试题及答案
2015/09/04 面试题
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
通信工程专业求职信
2014/06/04 职场文书
放弃遗产继承公证书
2015/01/26 职场文书
爱国主义教育主题班会
2015/08/13 职场文书