多功能jQuery樹插件zTree實(shí)現(xiàn)權(quán)限列表簡單實(shí)例
來源:易賢網(wǎng) 閱讀:1288 次 日期:2016-07-28 15:04:24
溫馨提示:易賢網(wǎng)小編為您整理了“多功能jQuery樹插件zTree實(shí)現(xiàn)權(quán)限列表簡單實(shí)例”,方便廣大網(wǎng)友查閱!

zTree 是一個(gè)依靠jQuery 實(shí)現(xiàn)的多功能 “樹插件”。優(yōu)異的性能、靈活的配置、多種功能的組合是 zTree 最大優(yōu)點(diǎn)。

頁面主要引入一下幾個(gè)文件: 

<link type="text/css" rel="stylesheet" href="zTree/zTreeStyle.css" />

<script type="text/javascript" src="js/jquery.ztree.core-3.5.js"></script>

<script type="text/javascript" src="js/jquery.ztree.excheck-3.5.js"></script> 

html頁面: 

<div class="edit_content">

     <div class="qxlb">

       <div class="add_title"> 

         <span>權(quán)限列表</span>

       </div>

       <div class="qxlb_content">

       <ul id="tree" class="ztree"></ul>

       </div>

     </div>

</div>

核心js:

<SCRIPT type="text/javascript">

var zTree;

//創(chuàng)建樹型結(jié)構(gòu)

function createTree() {

  var setting = {

    check:{

      enable:true

    },

    view: {

      dblClickExpand: true,

      expandSpeed: ""

    },

    //異步加載

    async: {

      enable: true,//設(shè)置是否異步加載

      url:"<%=path%>/role/getResourcesList.do", //設(shè)置異步獲取節(jié)點(diǎn)的 URL 地址

      otherParam: [ "roleId", '${updateRole.id}']

    },

    //這個(gè)data里面的pIdKey,idKey,name等等之類的都是對應(yīng)后臺查出的字段名字,

     在sql中寫好或者在拼接json的時(shí)候先拼接好,前太接收的時(shí)候只要對應(yīng)一直就可以了

    data: {

      simpleData: {

        enable: true,

        pIdKey: "PARENTID",

        idKey: "ID"

      },

        key: {

          checked: "CHECKED",

          name:"NAME"

        }

    },

    callback: {

     onAsyncSuccess: zTreeOnAsyncSuccess 

  } 

  };

  //初始化  

  zTree = $.fn.zTree.init($("#tree"), setting);  

  zTree.expandAll(true);

}

/* 異步加載無法展開tree 默認(rèn)展開一級菜單 */

var firstAsyncSuccessFlag = 0;

function zTreeOnAsyncSuccess(event, treeId, msg) { 

if (firstAsyncSuccessFlag == 0) { 

     try { 

         //調(diào)用默認(rèn)展開第一個(gè)結(jié)點(diǎn) 

         var selectedNode = zTree.getSelectedNodes(); 

         var nodes = zTree.getNodes(); 

         zTree.expandNode(nodes[0], true); 

         var childNodes = zTree.transformToArray(nodes[0]); 

         zTree.expandNode(childNodes[1], true); 

         zTree.selectNode(childNodes[1]); 

         var childNodes1 = zTree.transformToArray(childNodes[1]); 

         zTree.checkNode(childNodes1[1], true, true); 

         firstAsyncSuccessFlag = 1; 

      } catch (err) { 

      } 

   } 

}

$(function(){

  //頁面加載完成創(chuàng)建樹

  createTree();  

});

function submitRole(){

  //獲取選中的節(jié)點(diǎn),傳到后臺

  var nodes = zTree.getCheckedNodes();

  var ids = [];

  for(var i=0,l=nodes.length;i<l;i++){

    ids[ids.length] = nodes[i].ID;

  }

  //var _resourcesIds=ids.join(",");

  document.getElementById("hidden_resourceList").value=ids.join(",");

  //$("#resourcesRoleListForm").submit();

}

</SCRIPT>

其中數(shù)據(jù)通過后臺遞歸查詢實(shí)現(xiàn),以json的形式傳到前臺,進(jìn)行接收。更多的內(nèi)容可以參考API,里面的例子很詳細(xì)。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助

更多信息請查看網(wǎng)絡(luò)編程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)