Bootstrap-select是一个基于bootstrap主题,jquery库的开源多选组件,官网地址:https://developer.snapappointments.com/bootstrap-select/,官网比较详细的介绍了bootstrap-select的上手指南、可选项配置、案例和api使用。既然官网已经有比较翔实的参考资料,为什么还多此一举写本文,主要有2点:
1)官网有点神经质,经常访问不了;
2)做个总结,便于以后查看。

1、快速上手

引入2个核心文件即可:
1)bootstrap-select.css或其压缩文件.min.css;
2)bootstrap-select.js或其压缩文件.min.js;
3)多语言要求的话,请再引入语言包js
除此之外,必要的jquery,bootstrap库也要引入,大家可以下载到本地,也可以使用cdn资源,本文使用的是bootcss cdn资源,具体参考文本提供的DEMO。

bootstrap-select使用很简单,通常就2种方式:
通过添加selectpicker类来实现,如下:

<select class="selectpicker"><option>Mustard</option><option>Ketchup</option><option>Barbecue</option>
</select>

通过js代码显性初始化

$(function () {$('.my-select').selectpicker();     // 初始化特定select$('select').selectpicker();         // 初始化所有select
});

2、bootstrap-select常用选项列表

本文只列出常用的核心选项,其它更多选项大家参考:https://developer.snapappointments.com/bootstrap-select/options/

Name Type Default Description
actionsBox boolean false 是否显示2个按钮: 选中全部和取消选中全部 (Select All & Deselect All).
deselectAllText string ‘Deselect All’ 选中全部文本描述, actionsBox = true才生效.
selectAllText string ‘Select All’ 选中全部文本描述, actionsBox = true才生效.
dropdownAlignRight boolean or ‘auto’ false 下拉框对齐方式,默认左对齐,设为true则右对齐
liveSearch boolean false 是否出现搜索框,默认没有.
noneSelectedText string ‘Nothing selected’ 多选模式下,没选中项显示文本
noneResultsText string ‘No results matched {0}’ 没找到匹配项显示文本.
maxOptions integer or false false 多选模式下,最多选中项.如果设置到optgroup则表示该分组最多选中项
maxOptionsText string or array or function function 超出最多选中项的显示文本.
showTick boolean false 选中项后面是否显示对勾√
size ‘auto’ integer false ‘auto’ 下拉列表显示几项,auto组件会根据可见区域高度自动调整,false则显示全部,intger数字则显示设置的数字项,多余下拉滚动.

选项如何设置?
1)通过data-*来设置,如:actionsBox,可设置成data-actions-box,具体参考本文DEMO

<select class="selectpicker" multiple data-actions-box="true" data-deselect-all-text = '取消选中' data-select-all-text='选中全部'><option>Mustard</option><option>Ketchup</option><option>Relish</option>
</select>

2)通过js来初始化

$("#bs-select3").selectpicker({liveSearch: true, noneResultsText: "没找到相应记录{0}"});

3、bootstrap-select提供的常用api方法列表

1).selectpicker(‘val’), 取值和赋值

取值:.selectpicker(‘val’)
取值也可以通过$(selector).val()获取

赋值:.selectpicker(‘val’, 值)

$('.selectpicker').selectpicker('val', 'Mustard');     //单选赋值
$('.selectpicker').selectpicker('val', ['Mustard','Relish']);   //多选赋值
2).selectpicker(‘selectAll’), 多选模式选中全部
$('.selectpicker').selectpicker('selectAll');
3).selectpicker(‘deselectAll’), 多选模式取消选中全部
$('.selectpicker').selectpicker('deselectAll');
4).selectpicker(‘render’),重新渲染

You can force a re-render of the bootstrap-select ui with the render method. This is useful if you programatically change any underlying values that affect the layout of the element.

$(’.selectpicker’).selectpicker(‘render’);

5).selectpicker(‘refresh’),刷新

当bs-select新增、移除option,修改option selected,或bs-select enable/disable时,需要调用刷新方法。

$('.selectpicker').selectpicker('refresh');
6)下拉显示、隐藏

.selectpicker(‘toggle’)
.selectpicker(‘hide’)
.selectpicker(‘show’)

7).selectpicker(‘destroy’) 组件销毁

4、本文DEMO,复制另存html即可使用

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8" /><title>BootStrap-Select</title><link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css" /><link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.5.0/css/font-awesome.min.css" /><link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap-select/1.13.6/css/bootstrap-select.css" /><script src="https://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script><script src="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script><script src="https://cdn.bootcss.com/bootstrap-select/1.13.6/js/bootstrap-select.js"></script>
</head>
<body>
<div class="page-content container"><div class='page-body'><div class='panel panel-default'><div class="panel-heading"><h3 class='panel-title'>使用selectpicker类</h3></div><table class='table table-bordered'><thead><tr><th width=35>No.</th><th width="70%">描述</th><th width="30%">选择框</th></tr></thead><tbody><tr><td>1</td><td>普通标准单选框</td><td><select class="selectpicker"><option>Mustard</option><option>Ketchup</option><option>Relish</option></select></td></tr><tr><td>2</td><td>带下拉分组optgroup, 选中项显示对勾</td><td><select class="selectpicker" data-show-tick="true"><optgroup label="Picnic"><option>Mustard</option><option>Ketchup</option><option>Relish</option></optgroup><optgroup label="Camping"><option>Tent</option><option>Flashlight</option><option>Toilet Paper</option></optgroup></select></td></tr><tr><td>3</td><td>多选,设置noneSelectedText为'--请选择--'</td><td><select class="selectpicker" data-none-selected-text="--请选择--" multiple><option>Hot Dog, Fries and a Soda</option><option>Burger, Shake and a Smile</option><option>Sugar, Spice and all things nice</option></select></td></tr><tr><td>4</td><td>多选,设置下拉框右对齐,最多可选2项</td><td><select class="selectpicker" multiple data-max-options="2" data-dropdown-align-right = "true"><option>Hot Dog, Fries and a Soda</option><option>Burger, Shake and a Smile</option><option>Sugar, Spice and all things nice</option></select></td></tr><tr><td>5</td><td>多选,显示选中全部和取消选中按钮,并设置英文文本为中文</td><td><select class="selectpicker" multiple data-actions-box="true" data-deselect-all-text = '取消选中' data-select-all-text='选中全部'><option>Mustard</option><option>Ketchup</option><option>Relish</option></select></td></tr><tr><td>6</td><td>多选,显示搜索框,可通过option data-tokens="ketchup mustard"来指定搜索关键字</td><td><select class="selectpicker"  multiple data-live-search="true" data-none-results-text="没找到相应记录{0}"><option data-tokens="ketchup mustard">Hot Dog, Fries and a Soda</option><option data-tokens="mustard">Burger, Shake and a Smile</option><option data-tokens="frosting">Sugar, Spice and all things nice</option></select></td></tr>                                                                          </tbody></table></div><div class="panel panel-default"><div class="panel-heading"><h3 class='panel-title'>使用js来初始化</h3></div><table class='table table-bordered'><thead><tr><th width=35>No.</th><th width="70%">描述</th><th width="30%">选择框</th></tr></thead><tbody><tr><td>1</td><td>普通标准单选框 <button class='btn btn-sm btn-primary' type='button' onclick='make1()'>初始化</button></td><td><select class="form-control input-sm" id="bs-select1"><option>Mustard</option><option>Ketchup</option><option>Relish</option></select></td></tr><tr><td>2</td><td>带下拉分组optgroup, 选中项显示对勾 <button class='btn btn-sm btn-primary' type='button' onclick='make2()'>初始化</button></td><td><select class="form-control input-sm" id="bs-select2"><optgroup label="Picnic"><option>Mustard</option><option>Ketchup</option><option>Relish</option></optgroup><optgroup label="Camping"><option>Tent</option><option>Flashlight</option><option>Toilet Paper</option></optgroup></select></td></tr><tr><td>3</td><td>多选,显示搜索框,可通过option data-tokens="ketchup mustard"来指定搜索关键字 <button class='btn btn-sm btn-primary' type='button' onclick='make3()'>初始化</button></td><td><select class="form-control input-sm" size=1 multiple id="bs-select3"><option data-tokens="ketchup mustard">Hot Dog, Fries and a Soda</option><option data-tokens="mustard">Burger, Shake and a Smile</option><option data-tokens="frosting">Sugar, Spice and all things nice</option></select></td></tr>                                                                          </tbody></table></div><div class="panel panel-default"><div class="panel-heading"><h3 class='panel-title'>API方法列表</h3></div><table class='table table-bordered'><thead><tr><th width=35>No.</th><th width="70%">描述</th><th width="30%">选择框</th></tr></thead><tbody><tr><td>1</td><td>单选框取值、赋值 <button class='btn btn-sm btn-primary' type='button' onclick='getval1()'>取值</button><button class='btn btn-sm btn-primary' type='button' onclick='setval1()'>赋值</button></td><td><select class="form-control input-sm selectpicker" id="api-select1"><option>Mustard</option><option>Ketchup</option><option>Relish</option></select></td></tr><tr><td>2</td><td>多选框取值、赋值 <button class='btn btn-sm btn-primary' type='button' onclick='getval2()'>取值</button><button class='btn btn-sm btn-primary' type='button' onclick='setval2()'>赋值</button></td><td><select class="form-control input-sm selectpicker" multiple id="api-select2"><option>Mustard</option><option>Ketchup</option><option>Relish</option><option>Marcus</option><option>Lmlxj</option></select></td></tr>                <tr><td>3</td><td>删除option,render和refresh比较, option增|删|selected改变需要调用refresh才生效 <button class='btn btn-sm btn-primary' type='button' onclick='del3()'>删除option</button><button class='btn btn-sm btn-primary' type='button' onclick='render3()'>render</button><button class='btn btn-sm btn-primary' type='button' onclick='refresh3()'>refresh</button></td><td><select class="selectpicker form-control input-sm" id="api-select3"><optgroup label="Picnic"><option value="Mustard">Mustard</option><option value="Ketchup">Ketchup</option><option value="Relish">Relish</option></optgroup><optgroup label="Camping"><option value="Tent">Tent</option><option value="Flashlight">Flashlight</option><option value="Toilet Paper">Toilet Paper</option></optgroup></select></td></tr></tbody></table></div> </div>
</div>
<script type="text/javascript">function make1() {$("#bs-select1").selectpicker();}function make2() {$("#bs-select2").selectpicker({showTick: true});}function make3() {$("#bs-select3").selectpicker({liveSearch: true, noneResultsText: "没找到相应记录{0}"});}function getval1() {alert('selectpicker("val"): ' + $("#api-select1").selectpicker('val'));alert('$("#api-select1").val(): ' + $("#api-select1").val());}function setval1() {$("#api-select1").selectpicker('val', 'Ketchup');// 或 $("#api-select1").val('Ketchup').selectpicker('refresh');}function getval2() {alert('selectpicker("val"): ' + $("#api-select2").selectpicker('val'));alert('$("#api-select1").val(): ' + $("#api-select2").val());}function setval2() {$("#api-select2").selectpicker('val', ['Ketchup','Marcus']);// $("#api-select2").val(['Ketchup','Marcus']).selectpicker('refresh');}function del3() {$('#api-select3').find('[value=Ketchup]').remove();}function render3() {$('#api-select3').selectpicker('render');}function refresh3() {$('#api-select3').selectpicker('refresh');}
</script>
</body>
</html>

jquery bootstrap-select多选组件使用指南相关推荐

  1. html手写vue多级选择框,vue + html 编写仿element select 多选组件

    现在做vue项目主要用的ui框架差不多都是elementui,但是每个项目设计的不同难免和element组件产生差异甚至是大不相同,有的时候差异少比如页面样式不太相同,功能使用完全一样的话,这样改改样 ...

  2. bootstrap select多选的change事件

    bootstrap select的插件多选会自己生成新的DOM,所以绑定在原来select上的change事件不会触发. //bootstrap select插件多选的change事件 $('#fc_ ...

  3. Bootstrap select 多选并获取选中的值

    QQ技术交流群 173683866 526474645 欢迎加入交流讨论,打广告的一律飞机票 效果图: 输出日志 代码: <!DOCTYPE html> <html><h ...

  4. bootstrap select多选

    1.页面效果 <div class="form-group"><div class="col-md-2 control-label">& ...

  5. html多选框 jquery,jQuery Select多选

    插件描述:jquery.multi-select是一款jQuery开发的美化Select多选插件,界面上存在未选和已选两个框方便选择,支持分组. HTML elem 1 elem 2 elem 3 e ...

  6. Bootstrap V3.3.4 组件

    Glyphicons 字体图标 所有可用的图标 包括250多个来自 Glyphicon Halflings 的字体图标.Glyphicons Halflings 一般是收费的,但是他们的作者允许 Bo ...

  7. 很不错的两款Bootstrap Icon图标选择组件

    这篇文章主要介绍了不容错过的两款Bootstrap Icon图标选择组件,支持自定义的图标,拿出来分享下,绝对的干货,感兴趣的小伙伴们可以参考一下 一.Bootstrap icon picker组件 ...

  8. bootstrap select2 php,JS组件Bootstrap Select2使用方法详解

    在介绍select组件的时候,之前分享过一篇JS组件中bootstrap multiselect两大组件较量的文章,这两个组件的功能确实很强大,本文分享下select组件的一些用法和特性. 一些通用的 ...

  9. 【Bootstrap】 bootstrap-table表格组件

    [Bootstrap-table] 顾名思义,这个组件专注于bootstrap风格的表格的设计,并且提供了很多表格的基础和进阶的功能,给我们开发前端的表格省下很多力气. 本文主要参考这位博主的系列文章 ...

  10. Bootstrap 导航条的组件

    Bootstrap的导航条组件有站点名称.导航链接.表单.搜索表单.下拉菜单等,可以根据需要选择使用. 所有导航组件默认按照在HTML中定义的顺序,从左到右依次排列.如果需要,可以使用 .pull-l ...

最新文章

  1. mysql 全表扫描、全索引扫描、索引覆盖(覆盖索引)
  2. 中越跨国结婚需要什么条件和手续
  3. 混合式app php怎么打包,如何实现混合 App Web 资源的打包与增量更新
  4. JAVA 边界布局管理器
  5. C# 通过socket实现UDP 通信
  6. android 长按 秒事件_原来手机长按2秒,能开启5个实用功能,一键提取图片上的文字...
  7. Springboot2 搭建 高性能Websocket服务器
  8. 商业智能在公安交通管理领域的应用
  9. 张量/tensor--详解
  10. LeetCode 113. Path Sum II
  11. 觉得Win 10不如WP好?微软确认可以降级
  12. 国内首款 FeliCa协议NFC读卡器芯片 FSV9512 国产替代NXP PN512 同时可兼容 A卡 B卡 每月KK级出货量
  13. 使用java 语言 提取excel 中的手机号码,xls 格式以及xlsx 格式的excel 文件
  14. 深扒Mobileye—与特斯拉分手,被英特尔收购,现在又成了蔚来的救星?
  15. VMware 虚拟机Win10固定ip地址
  16. 斑凶鹰来袭,斑鸠逃生
  17. 成为一棵大树必备的6个条件
  18. 线性代数学习笔记——第七讲——分块矩阵(干货满满的感觉)
  19. 技术干货:Apache Pulsar 在移动云上的应用
  20. AZ-204认证考试攻略

热门文章

  1. BZOJ3202 [Sdoi2013]项链
  2. 三十九、如何单独发布jar包
  3. STM32F103_study49_The punctual atoms(STM32 Bit operation and logical operation in C language )
  4. 360 腾讯 迅雷Windows编程 网络编程面试题及答案
  5. rds是什么云模式_IaaS、PaaS、SaaS、DaaS都是什么?
  6. 什么是SaaS?SaaS系统有什么特征?
  7. dlna移植android系统,android系统的dlna开发
  8. 汇集各种 webservice工厂,快递,ip,天气,身份证,手机,翻译,火车时刻,股票,邮编,二维码,公交,ISBN,ICP 查询接口 API
  9. 仙剑永恒的经典──仙剑诗集
  10. ubuntu系统备份、系统镜像制作教程