jQuery Tree


jQuery Tree Multiselect詳細使用指南

2017-04-28 08:56 by 流浪的詩人, 784 閱讀, 5 評論, 收藏編輯

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

   

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

   代碼下載地址為:http://download.csdn.net/download/wdlhao/9826019,


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM