jQuery Tree Multiselect使用詳解
樹型權(quán)限管理插件jQuery Tree Multiselect的使用方法,具體內(nèi)容如下
1、認(rèn)識jQuery Tree Multiselect
這個(gè)插件允許用戶以樹型的形式來呈現(xiàn)列表復(fù)選框的選擇。多用于權(quán)限管理中用于分配不同的權(quán)限。使用文檔,請參考:https://github.com/patosai/tree-multiselect.js
2、運(yùn)行環(huán)境
2.1、需要引入jquery.v1.8+版本和jquery ui.js 2.2、只能在IE8以上的版本中運(yùn)行
3、效果圖展示:
給角色分配權(quán)限中,操作欄中有兩個(gè)按鈕:修改和授權(quán)
點(diǎn)擊授權(quán)按鈕,效果如圖:
直觀的菜單呈現(xiàn):
右邊帶有選項(xiàng)標(biāo)識:
4、使用方法及參數(shù)描述
4.1、初始化方法:$("select").treeMultiselect();4.2、選擇屬性名稱使用:
selected:當(dāng)給option添加selected屬性時(shí),即<option value="monitor_index" selected>首頁</option>,改復(fù)選框默認(rèn)為選擇狀態(tài);
data-section:即當(dāng)給option添加data-section屬性時(shí),展現(xiàn)父子層次關(guān)系:
'<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="接口調(diào)用日志描述" selected>酒店信息</option>' + '<option value="abnormal_logs" data-section="旅游管理">出行信息</option>' + '<option value="empty_logs" data-section="旅游管理">景點(diǎn)信息</option>'
data-description:即當(dāng)給option添加data-description屬性時(shí),在復(fù)選框后面會有一個(gè)問號形式的圖標(biāo),鼠標(biāo)放上去,展示描述信息,如圖:
data-index:即當(dāng)給option添加data-index屬性時(shí),主要用于顯示option選項(xiàng)的順序,最直觀的的表現(xiàn)可在右邊的div區(qū)域內(nèi)觀察。
通過設(shè)置 “首頁”:data-index = 3, "用戶信息":data-index = 2,"酒店信息":data-index = 1,右邊的排序如圖:
同時(shí)會讓option變?yōu)檫x中狀態(tài)。
此外,通過設(shè)置data-section="接口測試/接口應(yīng)用/接口篩選",可以設(shè)置多層次的展現(xiàn)效果,如圖:
4.3、參數(shù)詳解
params為一個(gè)對象,你可以通過給treeMultiselect(params)添加不同的參數(shù),來實(shí)現(xiàn)不同的效果:
使用方法如:$("#authorifyselect").treeMultiselect({ searchable: true, startCollapsed: false });
其中參數(shù):searchable、collapsible、hideSidePanel、onChange、startCollapsed較為常用和重要,其他參數(shù)用戶可以根據(jù)自己需求添加。
allowBatchSelection:用于父菜單復(fù)選框的顯示和隱藏。默認(rèn)為true時(shí),父菜單前出現(xiàn)復(fù)選框,右側(cè)出現(xiàn)詳細(xì)選中列表;如圖:
設(shè)置為false時(shí),父菜單前沒有復(fù)選框,如圖:
collapsible:用于設(shè)置父菜單的展開和伸縮。
默認(rèn)為true時(shí),父菜單前出現(xiàn)小橫線,即可以伸縮;如圖:
設(shè)置為false時(shí),父菜單前沒有小橫線,即不可以伸縮;如圖:
enableSelectAll,支持任何選項(xiàng)的選擇;默認(rèn)為false;
設(shè)置為true時(shí),出現(xiàn)“Select All”和“Unselect All”選項(xiàng),可實(shí)現(xiàn)全選和全不選功能,如圖:
selectAllText,當(dāng)enableSelectAll可用時(shí),可選中所有;
unselectAllText,當(dāng)enableSelectAll可用時(shí),可不選中所有;
freeze,默認(rèn)為false,表示對選項(xiàng)禁用選擇;設(shè)置為true時(shí),效果如圖:
hideSidePanel:用戶隱藏右邊的選項(xiàng)面板;默認(rèn)為false,表示不隱藏;設(shè)置為true時(shí),即隱藏;
onChange:默認(rèn)為null,表示選擇選項(xiàng)時(shí)觸發(fā)的回調(diào)函數(shù);默認(rèn)包含四個(gè)參數(shù)(text:屬性文本,value:值,initialIndex,section)
$("#authorifyselect").treeMultiselect({ onChange: function(text, value, initialIndex, section) { console.log(text); console.log(value); console.log(initialIndex); console.log(section); } });
當(dāng)我點(diǎn)擊某個(gè)選項(xiàng)時(shí),輸出結(jié)果如圖:
即text會輸出所有選中的復(fù)選框的信息;value會輸出你當(dāng)時(shí)點(diǎn)擊的那個(gè)復(fù)選框的信息;這里initialIndex和section的值為空。
onlyBatchSelection:只進(jìn)行部分檢查,只能設(shè)置為false.
sortable:默認(rèn)為false,設(shè)置為true時(shí),選擇的選項(xiàng)可以通過拖動排序(需要jQuery UI);
searchable,默認(rèn)為false,設(shè)置為true時(shí),菜單頂部會出現(xiàn)搜索框,用于快捷搜索菜單。效果如圖:
searchParams: ['value', 'text', 'description', 'section'],用于設(shè)置搜索設(shè)置項(xiàng)。
sectionDelimiter:意思是data-section="value1/value2/value3",可以通過“/”來分隔值,實(shí)現(xiàn)多層列表效果。
showSectionOnSelected:默認(rèn)為true,當(dāng)選中選項(xiàng)時(shí),顯示section name;
startCollapsed:默認(rèn)為false,設(shè)置為true時(shí),菜單默認(rèn)進(jìn)來顯示為折疊效果,如圖:
總結(jié):當(dāng)你在開發(fā)用戶權(quán)限管理的后臺系統(tǒng)時(shí),你不妨選擇這個(gè)插件用于權(quán)限的分配。小巧且簡單。
代碼下載地址為:jQuery Tree Multiselect
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- jQuery EasyUI API 中文文檔 - Tree樹使用介紹
- jQuery EasyUI API 中文文檔 - TreeGrid 樹表格使用介紹
- 推薦8款jQuery輕量級樹形Tree插件
- jquery zTree異步加載簡單實(shí)例分享
- jquery easyui中treegrid用法的簡單實(shí)例
- Jquery樹插件zTree用法入門教程
- jquery ztree實(shí)現(xiàn)下拉樹形框使用到了json數(shù)據(jù)
- jQuery EasyUI API 中文文檔 - ComboTree組合樹
- JQuery Easyui Tree的oncheck事件實(shí)現(xiàn)代碼
- jsTree樹控件(基于jQuery, 超強(qiáng)悍)[推薦]
相關(guān)文章
關(guān)于jquery中動態(tài)增加select,事件無效的快速解決方法
下面小編就為大家?guī)硪黄P(guān)于jquery中動態(tài)增加select,事件無效的快速解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08使用jQuery獲取radio/checkbox組的值的代碼收集
很久沒有寫JQuery的文章了。今天來看下JQ對天Checkbox復(fù)選框的操作。看下面的一個(gè)小例子。在這個(gè)例子中包括了以下幾個(gè)功能2009-12-12基于jquery實(shí)現(xiàn)人物頭像跟隨鼠標(biāo)轉(zhuǎn)動
一款非常乖巧的人物頭像跟隨鼠標(biāo)轉(zhuǎn)動效果,在瀏覽器屏幕內(nèi),人物臉龐始終面向鼠標(biāo)轉(zhuǎn)動,本篇文章給大家介紹基于jquery實(shí)現(xiàn)人物頭像跟隨鼠標(biāo)轉(zhuǎn)動,有需要的朋友可以參考下2015-08-08jquery Easyui Datagrid實(shí)現(xiàn)批量操作(編輯,刪除,添加)
本篇文章主要介紹了jquery Easyui Datagrid實(shí)現(xiàn)批量操作(編輯,刪除,添加),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02jQuery中的height innerHeight outerHeight區(qū)別示例介紹
這篇文章主要介紹了jQuery中的height innerHeight outerHeight的區(qū)別,需要的朋友可以參考下2014-06-06