樹型權限管理插件:jQuery Tree Multiselect詳細使用指南

一、認識jQuery Tree Multiselectjquery

這個插件容許用戶以樹型的形式來呈現列表複選框的選擇。多用於權限管理中用於分配不一樣的權限。使用文檔,請參考:
     https://github.com/patosai/tree-multiselect.jsgit

二、運行環境github

  • 2.一、須要引入jquery.v1.8+版本和jquery ui.js
  • 2.二、只能在IE8以上的版本中運行

三、效果圖展現:ide

給角色分配權限中,操做欄中有兩個按鈕:修改和受權函數

   

    點擊受權按鈕,效果如圖:測試

    直觀的菜單呈現:ui

   

   右邊帶有選項標識:spa

   

四、使用方法及參數描述.net

  • 4.一、初始化方法:$("select").treeMultiselect();
  • 4.二、選擇屬性名稱使用:

   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.三、參數詳解

    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時,菜單默認進來顯示爲摺疊效果,如圖:

   

   總結:當你在開發用戶權限管理的後臺系統時,你不妨選擇這個插件用於權限的分配。小巧且簡單。

   代碼下載地址爲:http://download.csdn.net/download/wdlhao/9826019,   備註:沒有csdn積分的同窗,請留郵箱哦。

相關文章
相關標籤/搜索