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 相关文章推荐
jquery 校验中国身份证号码实例详解
Apr 11 jQuery
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
May 13 jQuery
js案例之鼠标跟随jquery版(实例讲解)
Jul 21 jQuery
jquery动态赋值id与动态取id方法示例
Aug 21 jQuery
springmvc接收jquery提交的数组数据代码分享
Oct 28 jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
Dec 27 jQuery
jQuery中可见性过滤器简单用法示例
Mar 31 jQuery
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 jQuery
菊花转动的jquery加载动画效果
Aug 19 jQuery
jQuery实现动画、消失、显现、渐出、渐入效果示例
Sep 06 jQuery
jQuery实现开关灯效果
Aug 02 jQuery
Jquery Fade用法详解
Nov 06 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
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
模仿OSO的论坛(三)
2006/10/09 PHP
PHP Document 代码注释规范
2009/04/13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
PHP中round()函数对浮点数进行四舍五入的方法
2014/11/19 PHP
PHP可变函数学习小结
2015/11/29 PHP
使用PHP免费发送定时短信的实例
2016/10/24 PHP
Yii2框架RESTful API 格式化响应,授权认证和速率限制三部分详解
2016/11/10 PHP
PHP实现表单提交时去除斜杠的方法
2016/12/26 PHP
PHP code 验证码生成类定义和简单使用示例
2020/05/27 PHP
FLASH 广告之外的链接
2008/12/16 Javascript
动态载入/删除/更新外部 JavaScript/Css 文件的代码
2010/07/03 Javascript
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
js微信支付实现代码
2016/12/22 Javascript
vue2.0 中#$emit,$on的使用详解
2017/06/07 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
2017/08/08 jQuery
javascript将list转换成树状结构的实例
2017/09/08 Javascript
el-input 标签中密码的显示和隐藏功能的实例代码
2019/07/19 Javascript
java遇到微信小程序 &quot;支付验证签名失败&quot; 问题解决
2019/12/22 Javascript
js实现简单的打印表格
2020/01/15 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
python strip()函数 介绍
2013/05/24 Python
Django 中自定义 Admin 样式与功能的实现方法
2019/07/04 Python
Python的log日志功能及设置方法
2019/07/11 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
Win下PyInstaller 安装和使用教程
2019/12/25 Python
Python docutils文档编译过程方法解析
2020/06/23 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
用Python写一个for循环的例子
2016/07/19 面试题
终端业务员岗位职责
2013/11/27 职场文书
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
护理专科学生自荐书
2014/07/05 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP