前端插件之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 相关文章推荐
javascript入门·对象属性方法大总结
Oct 01 Javascript
jquery应该如何来设置改变按钮input的onclick事件
Dec 10 Javascript
jquery.form.js用法之清空form的方法
Mar 07 Javascript
JS实现表格数据各种搜索功能的方法
Mar 03 Javascript
浅谈js中的闭包
Mar 16 Javascript
jquery trigger函数执行两次的解决方法
Feb 29 Javascript
json与jsonp知识小结(推荐)
Aug 16 Javascript
基于jQuery实现中英文切换导航条效果
Sep 18 Javascript
Bootstrap页面缩小变形的快速解决办法
Feb 03 Javascript
JavaScript中使用参数个数实现重载功能
Sep 01 Javascript
详解基于Vue+Koa的pm2配置
Oct 24 Javascript
Vue指令指令大全
Feb 09 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
ThinkPHP处理Ajax返回的方法
2014/11/22 PHP
使用图灵api创建微信聊天机器人
2015/07/23 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
2016/07/02 PHP
CentOS系统中PHP安装扩展的方式汇总
2017/04/09 PHP
使用XHProf查找PHP性能瓶颈的实例
2017/12/13 PHP
PHP实现微信退款的方法示例
2019/03/26 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
window.dialogArguments 使用说明
2011/04/11 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
javascript仿qq界面的折叠菜单实现代码
2012/12/12 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
jquery实现的鼠标下拉滚动置顶效果
2014/07/24 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
在React框架中实现一些AngularJS中ng指令的例子
2016/03/06 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
JavaScript贪吃蛇小组件实例代码
2017/08/20 Javascript
Thinkjs3新手入门之如何使用静态资源目录
2017/12/06 Javascript
[59:15]EG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/29 DOTA
python引用DLL文件的方法
2015/05/11 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
2018/10/17 Python
opencv调整图像亮度对比度的示例代码
2019/09/27 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
python实例化对象的具体方法
2020/06/17 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
介绍一些UNIX常用简单命令
2014/11/11 面试题
2015年新教师工作总结
2015/04/28 职场文书
纪委立案决定书
2015/06/24 职场文书
如何用 Python 子进程关闭 Excel 自动化中的弹窗
2021/05/07 Python
Python3 如何开启自带http服务
2021/05/18 Python
go语言中http超时引发的事故解决
2021/06/02 Golang
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL