jQuery Tree Multiselect使用詳解,jquerymultiselect
樹型許可權管理外掛程式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、展示:
給角色指派許可權中,操作欄中有兩個按鈕:修改和授權
點擊授權按鈕,效果
直觀的菜單呈現:
右邊帶有選項標識:
4、使用方法及參數描述
4.1、初始化方法:$("select").treeMultiselect();4.2、選擇屬性名稱使用:
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屬性時,在複選框後面會有一個問號形式的表徵圖,滑鼠放上去,展示描述資訊,
data-index:即當給option添加data-index屬性時,主要用於顯示option選項的順序,最直觀的的表現可在右邊的div地區內觀察。
通過設定 “首頁”:data-index = 3, "使用者資訊":data-index = 2,"酒店資訊":data-index = 1,右邊的排序
同時會讓option變為選中狀態。
此外,通過設定data-section="介面測試/介面應用/介面篩選",可以設定多層次的展現效果,
4.3、參數詳解
params為一個對象,你可以通過給treeMultiselect(params)添加不同的參數,來實現不同的效果:
使用方法如:$("#authorifyselect").treeMultiselect({ searchable: true, startCollapsed: false });
其中參數:searchable、collapsible、hideSidePanel、onChange、startCollapsed較為常用和重要,其他參數使用者可以根據自己需求添加。
allowBatchSelection:用於父菜單複選框的顯示和隱藏。預設為true時,父菜單前出現複選框,右側出現詳細選中列表;
設定為false時,父菜單前沒有複選框,
collapsible:用於設定父菜單的展開和伸縮。
預設為true時,父菜單前出現小橫線,即可以伸縮;
設定為false時,父菜單前沒有小橫線,即不可以伸縮;
enableSelectAll,支援任何選項的選擇;預設為false;
設定為true時,出現“Select All”和“Unselect All”選項,可實現全選和全不選功能,
selectAllText,當enableSelectAll可用時,可選中所有;
unselectAllText,當enableSelectAll可用時,可不選中所有;
freeze,預設為false,表示對選項禁用選擇;設定為true時,效果
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);} });
當我點擊某個選項時,輸出結果
即text會輸出所有選中的複選框的資訊;value會輸出你當時點擊的那個複選框的資訊;這裡initialIndex和section的值為空白。
onlyBatchSelection:只進行部分檢查,只能設定為false.
sortable:預設為false,設定為true時,選擇的選項可以通過拖動排序(需要jQuery UI);
searchable,預設為false,設定為true時,菜單頂部會出現搜尋方塊,用於快捷搜尋菜單。效果
searchParams: ['value', 'text', 'description', 'section'],用於設定搜尋設定項。
sectionDelimiter:意思是data-section="value1/value2/value3",可以通過“/”來分隔值,實現多層列表效果。
showSectionOnSelected:預設為true,當選中選項時,顯示section name;
startCollapsed:預設為false,設定為true時,菜單預設進來顯示為摺疊效果,
總結:當你在開發使用者權限管理的後台系統時,你不妨選擇這個外掛程式用於許可權的分配。小巧且簡單。
代碼為:jQuery Tree Multiselect
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援幫客之家。