前端插件之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 相关文章推荐
使用EXT实现无刷新动态调用股票信息
Nov 01 Javascript
window.name代替cookie的实现代码
Nov 28 Javascript
Extjs TimeField 显示正常时间格式的代码
Jun 28 Javascript
Jquery上传插件 uploadify v3.1使用说明
Jun 18 Javascript
node.js中的querystring.escape方法使用说明
Dec 10 Javascript
JQuery球队选择实例
May 18 Javascript
一系列Bootstrap导航条使用方法分享
Apr 29 Javascript
Bootstrap自定义文件上传下载样式
May 26 Javascript
jQuery实现的省市县三级联动菜单效果完整实例
Aug 01 Javascript
JS抛物线动画实例制作
Feb 24 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
Feb 24 Javascript
微信小程序可滑动月日历组件使用详解
Oct 21 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
php 遍历数据表数据并列表横向排列的代码
2009/09/05 PHP
正确的PHP匹配UTF-8中文的正则表达式
2015/05/13 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
永不消失的title提示代码
2007/02/15 Javascript
js 本地预览的简单实现方法
2014/02/18 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
2014/03/17 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
2015/12/02 Javascript
将List对象列表转换成JSON格式的类实现方法
2016/07/04 Javascript
jQuery插件Echarts实现的双轴图效果示例【附demo源码下载】
2017/03/04 Javascript
vue 自定义 select内置组件
2018/04/10 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
2018/12/28 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
在Chrome DevTools中调试JavaScript的实现
2020/04/07 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
nodejs使用Sequelize框架操作数据库的实现
2020/10/21 NodeJs
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
理解Python中的With语句
2015/02/02 Python
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
Python实现购物车功能的方法分析
2017/11/10 Python
python3使用smtplib实现发送邮件功能
2018/05/22 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
用python对excel进行操作(读,写,修改)
2020/12/25 Python
Java语言的优势
2015/01/10 面试题
编辑硕士自荐信范文
2013/11/27 职场文书
彩色的非洲教学反思
2014/02/18 职场文书
个人担保书格式范文
2014/05/12 职场文书
异地年检委托书范本
2014/09/24 职场文书
高校教师个人工作总结2014
2014/12/17 职场文书
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android
详解pytorch创建tensor函数
2022/03/22 Python