前端插件之Bootstrap Dual Listbox使用教程


Posted in Javascript onJuly 23, 2019

对于很多非专业前端开发来说写页面是非常痛苦的,借助框架或插件往往能够达到事半功倍的效果,本系列文章会介绍我在运维系统开发过程中用到的那些顺手的前端插件,如果你是想写XX管理系统的学生、或是需要独自做Dashboard的后端工程师、亦或是像我这样半吊子的开发加运维,那么这个系列的文章你一定不要错过

Bootstrap Dual Listbox是一款基于Bootstrap的双向select选择框控件,作为对multiple select的扩展,使用起来非常简单,功能也更强大

项目Github地址:https://github.com/istvan-ujjmeszaros/bootstrap-duallistbox

基本使用

需要用到的JS和CSS文件位于项目代码下的dist目录中,需要将这个目录中的对应文件放入你的项目里,这一步不赘述

1.引入CSS/JS文件,由于bootstrap-duallistbox是基于bootstrap的,所以要先引入bootstrap相关的css和js

<!-- 加载bootstrap -->
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">     
<!-- 加载bootstrap-dualllistbox -->
<link rel="stylesheet" href="static/bootstrap-duallistbox/bootstrap-duallistbox.css" rel="external nofollow" >
<script src="static/bootstrap-duallistbox/jquery.bootstrap-duallistbox.js"></script>

1.加载duallistbox插件

<select class="form-control" multiple="multiple" name="groups" size="10">
  <option value="1">GroupA</option>
  <option selected value="2">GroupB</option>
  <option value="3">GroupC</option>
  <option value="4">GroupD</option>
  <option selected value="5">GroupE</option>
  <option value="6">GroupF</option>
  <option value="7">GroupG</option>
</select>
<script>
  var selectorx = $('select[name="groups"]').bootstrapDualListbox();
</script>

1.完成以上两步可以看到页面效果如下

非常简单,到这里已经可以正常使用这个控件了,更多的花样接着往下看

配置说明

整个界面为英文显示,有默认提示,如果你想将提示改为中文或添加自定义的提示内容,那么可以通过如下配置

var selectorx = $('select[name="groups"]').bootstrapDualListbox({
  nonSelectedListLabel: '未选择的组',
  selectedListLabel: '已选择的组',
  filterTextClear: '展示所有',
  filterPlaceHolder: '过滤搜索',
  moveSelectedLabel: "添加",
  moveAllLabel: '添加所有',
  removeSelectedLabel: "移除",
  removeAllLabel: '移除所有',
  infoText: '共{0}个组',
  infoTextFiltered: '搜索到{0}个组 ,共{1}个组',
  infoTextEmpty: '列表为空',
});

以上配置都比较简单,对照中文就能知晓意思,不做过多解释,另外有几个支持的参数说明如下:

infoText: 除了设置字符串外还可设置为false,当设置为false时可隐藏这段信息

showFilterInputs: 默认为true,是否显示filter过滤框

moveOnSelect: 默认为true,点击便会变更选项到对应的选择框内,如果设置为false则会在出现moveSelected的箭头需要点击箭头或者双击选项后才能变更选项到对应的选择框

nonSelectedFilter: 未选中的默认过滤规则,可以配置为OPS-COFFEE-A则未选中的框内只会显示OPS-COFFEE-A

selectedFilter: 已选中的默认规则,与noSelectedFilter类似

使用进阶

获取已选择的值

selectorx.val()

获取select插件对象

selectorx.bootstrapDualListbox('getContainer')

刷新插件元素用户界面

selectorx.bootstrapDualListbox('refresh');

删除bootstrap-duallistbox插件,恢复select原样

selectorx.bootstrapDualListbox('destroy');

动态添加select的option

selectorx.append('<option value="9" selected>ops-coffee.cn</option>');
selectorx.bootstrapDualListbox('refresh');

注意:上文中的所有selectorx都为加载duallistbox时实例化的select对象

完整Demo

为了方便大家学习,我写了个完整的demo,你可以在线查看效果或下载代码应用到自己的项目中

在线Demo地址:https://demo.ops-coffee.cn/duallistbox/

Github源码地址:https://github.com/ops-coffee/demo/tree/master/duallistbox

总结

以上所述是小编给大家介绍的前端插件之Bootstrap Dual Listbox使用教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
Google Map Api和GOOGLE Search Api整合实现代码
Jul 18 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
Aug 01 Javascript
终于解决了IE8不支持数组的indexOf方法
Apr 03 Javascript
js如何判断不同系统的浏览器类型
Oct 28 Javascript
javascript中怎么做对象的类型判断
Nov 11 Javascript
JavaScript通过正则表达式实现表单验证电话号码
Mar 07 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
Jun 29 Javascript
JQuery中解决重复动画的方法
Oct 17 Javascript
Vue.js系列之项目搭建(1)
Jan 03 Javascript
jQuery滚动条美化插件nicescroll简单用法示例
Apr 18 jQuery
vue-vuex中使用commit提交mutation来修改state的方法详解
Sep 16 Javascript
浅谈javascript错误处理
Aug 11 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
Jul 23 #Javascript
vscode vue 文件模板的配置方法
Jul 23 #Javascript
Vue中对iframe实现keep alive无刷新的方法
Jul 23 #Javascript
jQuery Ajax async=&gt;false异步改为同步时,解决导致浏览器假死的问题
Jul 22 #jQuery
这应该是最详细的响应式系统讲解了
Jul 22 #Javascript
20道JS原理题助你面试一臂之力(必看)
Jul 22 #Javascript
微信小程序webview 脚手架使用详解
Jul 22 #Javascript
You might like
cache_lite试用
2007/02/14 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
JavaScript在多浏览器下for循环的使用方法
2012/11/07 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
JS函数this的用法实例分析
2015/02/05 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
javascript事件委托的用法及其好处简析
2016/04/04 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
2017/02/19 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
2018/01/25 Javascript
优雅的在React项目中使用Redux的方法
2018/11/10 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
[01:09]模型精美,特效酷炫!TI9不朽宝藏Ⅰ鉴赏
2019/05/10 DOTA
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
Python中使用PIL库实现图片高斯模糊实例
2015/02/08 Python
Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
2018/08/30 Python
python2与python3共存问题的解决方法
2018/09/18 Python
浅谈python3发送post请求参数为空的情况
2018/12/28 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
tensorflow 变长序列存储实例
2020/01/20 Python
你需要学会的8个Python列表技巧
2020/06/24 Python
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
大学自主招生自荐信
2013/12/16 职场文书
幼儿园家长会欢迎词
2014/01/09 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
道德之星事迹材料
2014/05/03 职场文书
社区活动总结范文
2015/05/07 职场文书
辞职申请书范本
2019/05/20 职场文书
Python List remove()实例用法详解
2021/08/02 Python
nginx实现动静分离的方法示例
2021/11/07 Servers
试用1103暨1103、1101同门大比武 [ DAIWEI ]
2022/04/05 无线电
JAVA springCloud项目搭建流程
2022/05/11 Java/Android