jquery bootstrap-select多选组件使用指南
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多选组件使用指南相关推荐
- html手写vue多级选择框,vue + html 编写仿element select 多选组件
现在做vue项目主要用的ui框架差不多都是elementui,但是每个项目设计的不同难免和element组件产生差异甚至是大不相同,有的时候差异少比如页面样式不太相同,功能使用完全一样的话,这样改改样 ...
- bootstrap select多选的change事件
bootstrap select的插件多选会自己生成新的DOM,所以绑定在原来select上的change事件不会触发. //bootstrap select插件多选的change事件 $('#fc_ ...
- Bootstrap select 多选并获取选中的值
QQ技术交流群 173683866 526474645 欢迎加入交流讨论,打广告的一律飞机票 效果图: 输出日志 代码: <!DOCTYPE html> <html><h ...
- bootstrap select多选
1.页面效果 <div class="form-group"><div class="col-md-2 control-label">& ...
- html多选框 jquery,jQuery Select多选
插件描述:jquery.multi-select是一款jQuery开发的美化Select多选插件,界面上存在未选和已选两个框方便选择,支持分组. HTML elem 1 elem 2 elem 3 e ...
- Bootstrap V3.3.4 组件
Glyphicons 字体图标 所有可用的图标 包括250多个来自 Glyphicon Halflings 的字体图标.Glyphicons Halflings 一般是收费的,但是他们的作者允许 Bo ...
- 很不错的两款Bootstrap Icon图标选择组件
这篇文章主要介绍了不容错过的两款Bootstrap Icon图标选择组件,支持自定义的图标,拿出来分享下,绝对的干货,感兴趣的小伙伴们可以参考一下 一.Bootstrap icon picker组件 ...
- bootstrap select2 php,JS组件Bootstrap Select2使用方法详解
在介绍select组件的时候,之前分享过一篇JS组件中bootstrap multiselect两大组件较量的文章,这两个组件的功能确实很强大,本文分享下select组件的一些用法和特性. 一些通用的 ...
- 【Bootstrap】 bootstrap-table表格组件
[Bootstrap-table] 顾名思义,这个组件专注于bootstrap风格的表格的设计,并且提供了很多表格的基础和进阶的功能,给我们开发前端的表格省下很多力气. 本文主要参考这位博主的系列文章 ...
- Bootstrap 导航条的组件
Bootstrap的导航条组件有站点名称.导航链接.表单.搜索表单.下拉菜单等,可以根据需要选择使用. 所有导航组件默认按照在HTML中定义的顺序,从左到右依次排列.如果需要,可以使用 .pull-l ...
最新文章
- mysql 全表扫描、全索引扫描、索引覆盖(覆盖索引)
- 中越跨国结婚需要什么条件和手续
- 混合式app php怎么打包,如何实现混合 App Web 资源的打包与增量更新
- JAVA 边界布局管理器
- C# 通过socket实现UDP 通信
- android 长按 秒事件_原来手机长按2秒,能开启5个实用功能,一键提取图片上的文字...
- Springboot2 搭建 高性能Websocket服务器
- 商业智能在公安交通管理领域的应用
- 张量/tensor--详解
- LeetCode 113. Path Sum II
- 觉得Win 10不如WP好?微软确认可以降级
- 国内首款 FeliCa协议NFC读卡器芯片 FSV9512 国产替代NXP PN512 同时可兼容 A卡 B卡 每月KK级出货量
- 使用java 语言 提取excel 中的手机号码,xls 格式以及xlsx 格式的excel 文件
- 深扒Mobileye—与特斯拉分手,被英特尔收购,现在又成了蔚来的救星?
- VMware 虚拟机Win10固定ip地址
- 斑凶鹰来袭,斑鸠逃生
- 成为一棵大树必备的6个条件
- 线性代数学习笔记——第七讲——分块矩阵(干货满满的感觉)
- 技术干货:Apache Pulsar 在移动云上的应用
- AZ-204认证考试攻略
热门文章
- BZOJ3202 [Sdoi2013]项链
- 三十九、如何单独发布jar包
- STM32F103_study49_The punctual atoms(STM32 Bit operation and logical operation in C language )
- 360 腾讯 迅雷Windows编程 网络编程面试题及答案
- rds是什么云模式_IaaS、PaaS、SaaS、DaaS都是什么?
- 什么是SaaS?SaaS系统有什么特征?
- dlna移植android系统,android系统的dlna开发
- 汇集各种 webservice工厂,快递,ip,天气,身份证,手机,翻译,火车时刻,股票,邮编,二维码,公交,ISBN,ICP 查询接口 API
- 仙剑永恒的经典──仙剑诗集
- ubuntu系统备份、系统镜像制作教程