zTree基礎教程


文章轉至:https://blog.csdn.net/feng_zi_ye/article/details/80632671

感謝作者的無私分享!

開發老手可以跳過該教程直接去http://www.treejs.cn/v3/api.php官網看教程

 

一、首先獲得zTree,並加入到項目中

 

二、在html導入資源文件

 

注:zTree依賴於jQuery1.4+,這里用的v1.9

<link href="js/zTree_v3-master/css/zTreeStyle/zTreeStyle.css" type="text/css" rel="stylesheet">
<script src="js/jquery.min.js" type="application/javascript"></script>
<script src="js/zTree_v3-master/js/jquery.ztree.all.min.js"></script>
三、在html中定義一個zTree的容器

<body>
<ul id="tree" class="ztree" style="width:230px; overflow:auto;"></ul>
</body>
四、編寫js代碼生成zTree

$(function(){
var setting={
check: {
enable: true,
chkStyle: "checkbox"//顯示 checkbox 選擇框,默認checkbox可選擇值radio
}
};
var zTreeNodes=[
{"name":"北京","open":true,children:[
{"name":"東城區"},
{"name":"朝陽區"}
]},//open:true表示默認展開
{"name":"重慶","open":true,children:[
{"name":"巴南區",children:[
{"name":"南泉"},
{"name":"界石"}
]},
{"name":"渝中區"}
]}
];
var city = $.fn.zTree.init($("#tree"), setting, zTreeNodes);
//第一個參數為zTree的DOM容器,第二個為zTree設置詳情可見官網api,第三個為zTree的節點數據
});
運行效果如下:

 

 

 

五、給節點添加事件

 

在setting里面配置callback,添加onCheck事件的回調函數,這里演示一個就行了,更多看官網。

var setting={
check: {
enable: true,
chkStyle: "checkbox"//顯示 checkbox 選擇框,默認checkbox可選擇值radio
},
callback:{
onCheck:zTreeOnCheck
}
};
var city = $.fn.zTree.init($("#tree"), setting, zTreeNodes);
function zTreeOnCheck(event, treeId, treeNode) {
alert(treeNode.name);//彈出城市名字
}
運行效果如下:

 

 

 

六、異步獲取數據(在實際項目中適用)

var setting={
check: {
enable: true,
chkStyle: "checkbox"//顯示 checkbox 選擇框,默認checkbox可選擇值radio
},
callback:{
onCheck:zTreeOnCheck
},
async: {
enable: true,//要開啟async功能必須設置為true,其他地方同理
dataType: "json",
type: "get",
url: "city.json"
},
data: {
simpleData: {
enable: true,
idKey: "id",//節點id名
pIdKey: "pid",//父節點id名
rootPId: 0//默認根節點為0
}
}
};
var zTreeNodes=[];
var city = $.fn.zTree.init($("#tree"),setting, zTreeNodes);
然后,在city.json文件中添加城市的簡單json數據(與上面的json數據有所區別,這里不再有子節點children,需要設置該節點的父節點pid,根節點pid為0。)

 

注:json文件中id以及pid要與setting中simpleData配置的idKey和pIdKey一致,小心有坑!

[
{"name":"北京","open":true,"id":1,"pid":0},
{"name":"東城區","id":11,"pid":1},
{"name":"朝陽區","id":12,"pid":1},
{"name":"重慶","open":true,"id":2,"pid":0},
{"name":"巴南區","open":true,"id":21,"pid":2},
{"name":"南泉","id":211,"pid":21},
{"name":"界石","id":212,"pid":21},
{"name":"渝中區","id":22,"pid":2}
]
————————————————
版權聲明:本文為CSDN博主「feng_zi_ye」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/feng_zi_ye/article/details/80632671


免責聲明!

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



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