前端插件之Bootstrap Dual Listbox使用

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

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

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

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

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

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






加载duallistbox插件

<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>

var selectorx = $('select[name="groups"]').bootstrapDualListbox();


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

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

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

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('ops-coffee.cn');
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
原文地址https://www.cnblogs.com/37Y37/p/11229806.html

相关文章
|
3月前
|
前端开发
【Bootstrap】<前端框架>Bootstrap常用样式 - 排版
【1月更文挑战第17天】【Bootstrap】<前端框架>Bootstrap常用样式 - 排版
|
4月前
|
前端开发 JavaScript
Web前端之移动端课程开发之06.bootstrap
Web前端之移动端课程开发之06.bootstrap
46 0
|
6月前
|
前端开发
前端基础 - Bootstrap简单案例
前端基础 - Bootstrap简单案例
40 0
|
6月前
|
前端开发 JavaScript 容器
前端基础 - Bootstrap简介
前端基础 - Bootstrap简介
31 0
|
6月前
|
前端开发
【前端异常】解决前端引入Bootstrap的dropdowns 菜单时报错,Uncaught TypeError: Bootstrap‘s dropdowns require Popper.js
【前端异常】解决前端引入Bootstrap的dropdowns 菜单时报错,Uncaught TypeError: Bootstrap‘s dropdowns require Popper.js
56 0
|
6月前
|
前端开发 容器
前端基础 - Bootstrap网格系统
前端基础 - Bootstrap网格系统
30 0
|
6月前
|
前端开发
【Web前端】【疑难杂症】轮播图图片自适应显示问题(bootstrap3轮播图)
切换的时候其实是div之间的切换 所以我可不可以去掉img呢?图片显示的话,就给div设置背景。
66 0
【Web前端】【疑难杂症】轮播图图片自适应显示问题(bootstrap3轮播图)
|
7月前
|
设计模式 移动开发 前端开发
前端组件之Bootstrap与Ant design of Vue
前端组件之Bootstrap与Ant design of Vue
131 0
|
10月前
|
前端开发
前端|BootStrap 布局组件
前端|BootStrap 布局组件
59 0
|
10月前
|
前端开发 JavaScript 索引
前端|Bootstrap 实例 - 简单的轮播插件
前端|Bootstrap 实例 - 简单的轮播插件
213 0