jQuery Tree Multiselect使用详解


Posted in jQuery onMay 02, 2017

树型权限管理插件jQuery Tree Multiselect的使用方法,具体内容如下

1、认识jQuery Tree Multiselect

这个插件允许用户以树型的形式来呈现列表复选框的选择。多用于权限管理中用于分配不同的权限。使用文档,请参考:https://github.com/patosai/tree-multiselect.js

2、运行环境

2.1、需要引入jquery.v1.8+版本和jquery ui.js 2.2、只能在IE8以上的版本中运行

3、效果图展示:

给角色分配权限中,操作栏中有两个按钮:修改和授权

jQuery Tree Multiselect使用详解

点击授权按钮,效果如图:

直观的菜单呈现:

jQuery Tree Multiselect使用详解

右边带有选项标识:

jQuery Tree Multiselect使用详解

4、使用方法及参数描述

4.1、初始化方法:$("select").treeMultiselect();4.2、选择属性名称使用:

jQuery Tree Multiselect使用详解

selected:当给option添加selected属性时,即<option value="monitor_index" selected>首页</option>,改复选框默认为选择状态;
data-section:即当给option添加data-section属性时,展现父子层次关系:

'<option value="monitor_index" data-section="旅游管理" data-description="首页描述" selected>首页</option>' +
'<option value="manage_logs" data-section="旅游管理" data-description="用户日志描述" selected>用户信息</option>' +
'<option value="interface_logs" data-section="旅游管理" data-description="接口调用日志描述" selected>酒店信息</option>' +
'<option value="abnormal_logs" data-section="旅游管理">出行信息</option>' +
'<option value="empty_logs" data-section="旅游管理">景点信息</option>'

data-description:即当给option添加data-description属性时,在复选框后面会有一个问号形式的图标,鼠标放上去,展示描述信息,如图:

jQuery Tree Multiselect使用详解

data-index:即当给option添加data-index属性时,主要用于显示option选项的顺序,最直观的的表现可在右边的div区域内观察。

通过设置 “首页”:data-index = 3, "用户信息":data-index = 2,"酒店信息":data-index = 1,右边的排序如图:
同时会让option变为选中状态。

jQuery Tree Multiselect使用详解

此外,通过设置data-section="接口测试/接口应用/接口筛选",可以设置多层次的展现效果,如图:

jQuery Tree Multiselect使用详解

4.3、参数详解

params为一个对象,你可以通过给treeMultiselect(params)添加不同的参数,来实现不同的效果:
使用方法如:$("#authorifyselect").treeMultiselect({ searchable: true, startCollapsed: false });
其中参数:searchable、collapsible、hideSidePanel、onChange、startCollapsed较为常用和重要,其他参数用户可以根据自己需求添加。

jQuery Tree Multiselect使用详解

allowBatchSelection:用于父菜单复选框的显示和隐藏。默认为true时,父菜单前出现复选框,右侧出现详细选中列表;如图:

jQuery Tree Multiselect使用详解

设置为false时,父菜单前没有复选框,如图:

jQuery Tree Multiselect使用详解

collapsible:用于设置父菜单的展开和伸缩。

默认为true时,父菜单前出现小横线,即可以伸缩;如图:

jQuery Tree Multiselect使用详解

设置为false时,父菜单前没有小横线,即不可以伸缩;如图:

jQuery Tree Multiselect使用详解

enableSelectAll,支持任何选项的选择;默认为false;
设置为true时,出现“Select All”和“Unselect All”选项,可实现全选和全不选功能,如图:

jQuery Tree Multiselect使用详解

selectAllText,当enableSelectAll可用时,可选中所有;
unselectAllText,当enableSelectAll可用时,可不选中所有;
freeze,默认为false,表示对选项禁用选择;设置为true时,效果如图:

jQuery Tree Multiselect使用详解

hideSidePanel:用户隐藏右边的选项面板;默认为false,表示不隐藏;设置为true时,即隐藏;
onChange:默认为null,表示选择选项时触发的回调函数;默认包含四个参数(text:属性文本,value:值,initialIndex,section)

$("#authorifyselect").treeMultiselect({ onChange: function(text, value, initialIndex, section) {
 console.log(text);
 console.log(value);
 console.log(initialIndex);
 console.log(section);
} });

当我点击某个选项时,输出结果如图:

jQuery Tree Multiselect使用详解

即text会输出所有选中的复选框的信息;value会输出你当时点击的那个复选框的信息;这里initialIndex和section的值为空。
onlyBatchSelection:只进行部分检查,只能设置为false.
sortable:默认为false,设置为true时,选择的选项可以通过拖动排序(需要jQuery UI);
searchable,默认为false,设置为true时,菜单顶部会出现搜索框,用于快捷搜索菜单。效果如图:

jQuery Tree Multiselect使用详解

searchParams: ['value', 'text', 'description', 'section'],用于设置搜索设置项。
sectionDelimiter:意思是data-section="value1/value2/value3",可以通过“/”来分隔值,实现多层列表效果。
showSectionOnSelected:默认为true,当选中选项时,显示section name;
startCollapsed:默认为false,设置为true时,菜单默认进来显示为折叠效果,如图:

jQuery Tree Multiselect使用详解

总结:当你在开发用户权限管理的后台系统时,你不妨选择这个插件用于权限的分配。小巧且简单。

代码下载地址为:jQuery Tree Multiselect

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
Jun 12 jQuery
深入理解jquery的$.extend()、$.fn和$.fn.extend()
Jul 08 jQuery
jQuery实现手势解锁密码特效
Aug 14 jQuery
使用jQuery实现简单的tab框实例
Aug 22 jQuery
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
jQuery+ajax读取json数据并按照价格排序示例
Mar 28 jQuery
jQuery实现的两种简单弹窗效果示例
Apr 18 jQuery
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
Aug 27 jQuery
jQuery轮播图功能制作方法详解
Dec 03 jQuery
jquery实现进度条状态展示
Mar 26 jQuery
基于JQuery实现页面定时弹出广告
May 08 jQuery
jquery实现抽奖功能
Oct 22 jQuery
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
May 01 #jQuery
jQuery实现按比例缩放图片的方法
Apr 29 #jQuery
jQuery输入框密码的显示隐藏【代码分享】
Apr 29 #jQuery
jQuery实现多张图片上传预览(不经过后端处理)
Apr 29 #jQuery
jQuery设置图片等比例缩小的方法
Apr 29 #jQuery
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 #jQuery
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
Apr 28 #jQuery
You might like
php的数组与字符串的转换函数整理汇总
2013/07/18 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
用JS实现一个页面多个css样式实现
2008/05/29 Javascript
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
2013/12/12 Javascript
javascript数组详解
2014/10/22 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
详解JavaScript对象类型
2016/06/16 Javascript
node.js基于mongodb的搜索分页示例
2017/01/22 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
Layui table field初始化加载时进行隐藏的方法
2019/09/19 Javascript
javascript操作元素的常见方法小结
2019/11/13 Javascript
功能完善的小程序日历组件的实现
2020/03/31 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
[03:44]2015国际邀请赛选手档案—Cloud9.NoTail
2015/07/28 DOTA
怎么使用pipenv管理你的python项目
2018/03/12 Python
Python骚操作之动态定义函数
2019/03/26 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
2019/09/20 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
OpenCV灰度化之后图片为绿色的解决
2020/12/01 Python
Python3爬虫ChromeDriver的安装实例
2021/02/06 Python
html5 Canvas画图教程(2)—画直线与设置线条的样式如颜色/端点/交汇点
2013/01/09 HTML / CSS
Probikekit日本:自行车套件,跑步和铁人三项装备
2017/04/03 全球购物
Famous Footwear加拿大:美国多品牌运动休闲鞋店
2018/12/05 全球购物
农药学硕士毕业生自荐信
2013/09/25 职场文书
数控加工专业毕业生自荐信
2013/09/27 职场文书
执行总经理岗位职责
2014/02/03 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
工作能力自我评价2015
2015/03/05 职场文书
淮海战役观后感
2015/06/11 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP