zTree學習筆記


一、zTree的下載

  官網:http://www.treejs.cn/v3/main.php#_zTreeInfo

  解壓后的目錄結構為:

  

二、zTree入門案例

2.1 在頁面中引入相關文件

  要使用zTree,必須先引入zTree的相關js文件,在下載的開發包里,提供了如下js文件

  • jquery.ztree.core.js:是zTree的核心庫,包括基本的展示功能。
  • jquery.ztree.excheck.js:是zTree關於復選框/單選框的擴展庫。
  • jquery.ztree.exedit.js:是zTree關於編輯操作的擴展庫。
  • jquery.ztree.exhide.js:是zTree關於節點隱藏的擴展庫。
  • jquery.ztree.all.js:是core+excheck+exedit的組合(不包含exhide)

  本案例中,我引入的是jquery.ztree.all.js。此外還需要引入一個zTreeStyle.css文件,此文件是ztree需要的css和圖片。因為zTree是基於jQuery開發的,所以還要引入jQuery

<!--引入JQuery-->
<script type="application/javascript" src="${pageContext.request.contextPath}/easyui/jquery.min.js"></script>
<!--引入jquery.ztree.all.js-->
<script src="${pageContext.request.contextPath}/js/jquery.ztree.all-3.5.js"></script>
<!--引入zTree的樣式文件-->
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/zTreeStyle.css"/>

2.2 構造zTree

【使用標准json數據構造ztree】(了解)

<div title="面板二">
    <!-- 展示ztree效果 :使用標准json數據構造ztree-->
    <ul id="ztree1" class="ztree"></ul>
    <script type="text/javascript">
        $(function(){
            //頁面加載完成后,執行這段代碼----動態創建ztree
            var setting = {};
            //構造節點數據
            var zNodes = [
                {"name":"節點一","children":[
                        {"name":"節點一_1"},
                        {"name":"節點一_2"}
                    ]},//每個json對象表示一個節點數據
                {"name":"節點二"},
                {"name":"節點三"}
            ];
            //調用API初始化ztree
            $.fn.zTree.init($("#ztree1"), setting, zNodes);
        });
    </script>
</div>

  效果:

  

【使用簡單json數據構造ztree】(重點)

<div title="面板三">
    <!-- 展示ztree效果 :使用簡單json數據構造ztree-->
    <ul id="ztree2" class="ztree"></ul>
    <script type="text/javascript">
       $(function () {
           //頁面加載完成后,執行這段代碼----動態創建ztree
           var setting2={
               data:{
                   simpleData:{
                       enable:true //使用簡單json數據構造ztree節點
                   }
               }
           };
           // 構造節點數據
           var zNodes2=[
               {"id":"1","pId":"2","name":"節點一"},//每個json對象表示一個節點數據
               {"id":"2","pId":"3","name":"節點二"},
               {"id":"3","pId":"0","name":"節點三"}
           ];
           //調用API初始化ztree
           $.fn.zTree.init($("#ztree2"), setting2, zNodes2);

       })
    </script>
</div>

  效果:

  

【發送ajax請求獲取json數據構造ztree】

  准備json數據:

<div title="面板四">
    <!-- 展示ztree效果 :發送ajax請求獲取簡單json數據構造ztree-->
    <ul id="ztree3" class="ztree"></ul>
    <script type="text/javascript">
        $(function () {
            //頁面加載完成后,執行這段代碼----動態創建ztree
            var setting3 = {
                data:{
                    simpleData:{
                        enable:true //使用簡單json數據構造ztree節點
                    }
                },
                callback:{
                    //為ztree節點綁定單擊事件
                    onClick: function (even, treeId, treeNode) {
                        if (treeNode.page != undefined) {
                            // 判斷選項卡是否存在
                            var e = $("#mytabs").tabs("exists", treeNode.name);
                            if (e) {
                                // 如果存在,選中
                                $("#mytabs").tabs("select", treeNode.name);
                            } else {
                                // 動態添加一個選項卡
                                $("#mytabs").tabs("add",{
                                    title:treeNode.name,
                                    closable:true
                                });
                            }
                        }

                    }
                }
            };
            //發送ajax請求,獲取json數據
            //jQuery提供 的ajax方法:ajax、post、get、load、getJSON、getScript
            var url="${pageContext.request.contextPath}/json/menu.json";
            $.post(url, {}, function (data) {
                //調用API初始化ztree
                $.fn.zTree.init($("#ztree3"), setting3, data);

            },'json');
        });
    </script>
</div>

   效果如下:

  

 


免責聲明!

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



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