前端插件之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 相关文章推荐
jQuery编写widget的一些技巧分享
Oct 28 Javascript
JavaScript中数组的排序、乱序和搜索实现代码
Nov 30 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
Nov 18 Javascript
JavaScript使用二分查找算法在数组中查找数据的方法
Apr 07 Javascript
javascript常用的方法整理
Aug 20 Javascript
纯javascript实现图片延时加载方法
Aug 21 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
Sep 01 Javascript
解决ionic和angular上拉加载的问题
Aug 03 Javascript
vue form check 表单验证的实现代码
Dec 09 Javascript
Bootstrap4 gulp 配置详解
Jan 06 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
Jan 18 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
Jan 30 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
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
php获取当前月与上个月月初及月末时间戳的方法
2016/12/05 PHP
语义化 H1 标签
2008/01/14 Javascript
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
基于Jquery+Ajax+Json的高效分页实现代码
2011/10/29 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
display和visibility的区别示例介绍
2014/02/26 Javascript
使用mini-define实现前端代码的模块化管理
2014/12/25 Javascript
JavaScript中遍历对象的property的3种方法介绍
2014/12/30 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
jQuery学习笔记之Ajax用法实例详解
2015/12/01 Javascript
AngularJS ng-style中使用filter
2016/09/21 Javascript
利用Node.js制作爬取大众点评的爬虫
2016/09/22 Javascript
BootStrap table使用方法分析
2016/11/08 Javascript
vue select选择框数据变化监听方法
2018/08/24 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
Python的组合模式与责任链模式编程示例
2016/02/02 Python
python基础练习之几个简单的游戏
2017/11/10 Python
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
Python数据结构之图的应用示例
2018/05/11 Python
python绘制圆柱体的方法
2018/07/02 Python
Python3模拟curl发送post请求操作示例
2019/05/03 Python
selenium获取当前页面的url、源码、title的方法
2019/06/12 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
如何解决cmd运行python提示不是内部命令
2020/07/01 Python
Django自定义YamlField实现过程解析
2020/11/11 Python
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
EJB发布WEB服务一般步骤
2012/10/31 面试题
出纳员的岗位职责
2014/02/22 职场文书
安全生产会议制度
2015/08/06 职场文书