jQuery zTree樹(shù)插件簡(jiǎn)單使用教程
前言
zTree 是一個(gè)依靠 jQuery 實(shí)現(xiàn)的多功能 “樹(shù)插件”。優(yōu)異的性能、靈活的配置、多種功能的組合是 zTree 最大優(yōu)點(diǎn)。
支持靜態(tài) 和 Ajax 異步加載節(jié)點(diǎn)數(shù)據(jù).
在開(kāi)發(fā)中我們常需要用到樹(shù)狀的展示.
下載地址:zTree
靜態(tài)zTree開(kāi)發(fā)流程
引入資源
<link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type="text/css"> <script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script> <script type="text/javascript" src="../../../js/jquery.ztree.core.js"></script>
html元素
<div> <ul id="treeDemo" class="ztree"></ul> </div>
JS方式一-簡(jiǎn)單json數(shù)據(jù)格式
<SCRIPT type="text/javascript"> <!-- var setting = { data: { simpleData: { enable: true } } }; var zNodes =[ { id:1, pId:0, name:"父節(jié)點(diǎn)1 - 展開(kāi)", open:true}, { id:11, pId:1, name:"父節(jié)點(diǎn)11 - 折疊"}, { id:111, pId:11, name:"葉子節(jié)點(diǎn)111"}, { id:112, pId:11, name:"葉子節(jié)點(diǎn)112"}, { id:113, pId:11, name:"葉子節(jié)點(diǎn)113"}, { id:114, pId:11, name:"葉子節(jié)點(diǎn)114"}, { id:12, pId:1, name:"父節(jié)點(diǎn)12 - 折疊"}, { id:121, pId:12, name:"葉子節(jié)點(diǎn)121"}, { id:122, pId:12, name:"葉子節(jié)點(diǎn)122"}, { id:123, pId:12, name:"葉子節(jié)點(diǎn)123"}, { id:124, pId:12, name:"葉子節(jié)點(diǎn)124"}, { id:13, pId:1, name:"父節(jié)點(diǎn)13 - 沒(méi)有子節(jié)點(diǎn)", isParent:true}, { id:2, pId:0, name:"父節(jié)點(diǎn)2 - 折疊"}, { id:21, pId:2, name:"父節(jié)點(diǎn)21 - 展開(kāi)", open:true}, { id:211, pId:21, name:"葉子節(jié)點(diǎn)211"}, { id:212, pId:21, name:"葉子節(jié)點(diǎn)212"}, { id:213, pId:21, name:"葉子節(jié)點(diǎn)213"}, { id:214, pId:21, name:"葉子節(jié)點(diǎn)214"}, { id:22, pId:2, name:"父節(jié)點(diǎn)22 - 折疊"}, { id:221, pId:22, name:"葉子節(jié)點(diǎn)221"}, { id:222, pId:22, name:"葉子節(jié)點(diǎn)222"}, { id:223, pId:22, name:"葉子節(jié)點(diǎn)223"}, { id:224, pId:22, name:"葉子節(jié)點(diǎn)224"}, { id:23, pId:2, name:"父節(jié)點(diǎn)23 - 折疊"}, { id:231, pId:23, name:"葉子節(jié)點(diǎn)231"}, { id:232, pId:23, name:"葉子節(jié)點(diǎn)232"}, { id:233, pId:23, name:"葉子節(jié)點(diǎn)233"}, { id:234, pId:23, name:"葉子節(jié)點(diǎn)234"}, { id:3, pId:0, name:"父節(jié)點(diǎn)3 - 沒(méi)有子節(jié)點(diǎn)", isParent:true} ]; $(document).ready(function(){ $.fn.zTree.init($("#treeDemo"), setting, zNodes); }); //--> </SCRIPT>
JS方式二-標(biāo)準(zhǔn)json數(shù)據(jù)格式
<SCRIPT type="text/javascript"> <!-- var setting = { }; var zNodes =[ { name:"父節(jié)點(diǎn)1 - 展開(kāi)", open:true, children: [ { name:"父節(jié)點(diǎn)11 - 折疊", children: [ { name:"葉子節(jié)點(diǎn)111"}, { name:"葉子節(jié)點(diǎn)112"}, { name:"葉子節(jié)點(diǎn)113"}, { name:"葉子節(jié)點(diǎn)114"} ]}, { name:"父節(jié)點(diǎn)12 - 折疊", children: [ { name:"葉子節(jié)點(diǎn)121"}, { name:"葉子節(jié)點(diǎn)122"}, { name:"葉子節(jié)點(diǎn)123"}, { name:"葉子節(jié)點(diǎn)124"} ]}, { name:"父節(jié)點(diǎn)13 - 沒(méi)有子節(jié)點(diǎn)", isParent:true} ]}, { name:"父節(jié)點(diǎn)2 - 折疊", children: [ { name:"父節(jié)點(diǎn)21 - 展開(kāi)", open:true, children: [ { name:"葉子節(jié)點(diǎn)211"}, { name:"葉子節(jié)點(diǎn)212"}, { name:"葉子節(jié)點(diǎn)213"}, { name:"葉子節(jié)點(diǎn)214"} ]}, { name:"父節(jié)點(diǎn)22 - 折疊", children: [ { name:"葉子節(jié)點(diǎn)221"}, { name:"葉子節(jié)點(diǎn)222"}, { name:"葉子節(jié)點(diǎn)223"}, { name:"葉子節(jié)點(diǎn)224"} ]}, { name:"父節(jié)點(diǎn)23 - 折疊", children: [ { name:"葉子節(jié)點(diǎn)231"}, { name:"葉子節(jié)點(diǎn)232"}, { name:"葉子節(jié)點(diǎn)233"}, { name:"葉子節(jié)點(diǎn)234"} ]} ]}, { name:"父節(jié)點(diǎn)3 - 沒(méi)有子節(jié)點(diǎn)", isParent:true} ]; $(document).ready(function(){ $.fn.zTree.init($("#treeDemo"), setting, zNodes); }); //--> </SCRIPT>
異步zTree加載
前面的配置相同,在此不再闡述.主要是js不同.
異步JS
var setting = { //可勾選 check: { enable: true }, data : { simpleData : { enable : true } } }; function initTree(){ var payFreq = $("#payFreq").val(); var fyType = $('#fyType').val(); var setHzType = $('#setHzType').val(); $.ajax({ url : "/demo/initTree", data : {payFreq:payFreq, fyType:fyType, setHzType:setHzType }, success: function(object){ var nodes = ""; //拼接simple格式的json字符串 $.each(object.data, function(i,item) { nodes+="{id:'"+item.id+"', pId:'"+item.pid+"', name:'"+item.name+"', isParent:'"+item.isParent+"'},"; }); var zNodes = "["+nodes+"]"; var json = eval('(' + zNodes + ')'); //console.log(json); zTreeInit(json); } }); } /* 初始化樹(shù) */ function zTreeInit(json) { $.fn.zTree.init($("#treeDemo"), setting, json); var zTree = $.fn.zTree.getZTreeObj("treeDemo"); //全部展開(kāi) zTree.expandAll(true); //Y代表勾選時(shí),N代表取消勾選 p代表父節(jié)點(diǎn),s代表字節(jié)點(diǎn) setting.check.chkboxType = { "Y" : "ps", "N" : "ps" }; }
java代碼
Controller層
@RequestMapping("initTree") @ResponseBody public DataMessage initTree(String setHzType,String payFreq,String fyType){ params.put("setHzType", setHzType); params.put("fyType", fyType); params.put("fkmattr_xt", fkmattr_xt); //獲取treeinfo列表 List<TreeInfo> treeInfos = feeTransferService.initTree(params); return DataMessage.successData(treeInfos); }
tree實(shí)體類
public class TreeInfo { private String id; private String pid; private String name; private String isParent; }
說(shuō)明
更多實(shí)例可以參看zTree中文文檔
或參見(jiàn)zTree GitHub 里面更多的示例和說(shuō)明。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jQuery簡(jiǎn)單實(shí)現(xiàn)QQ空間點(diǎn)贊已經(jīng)取消點(diǎn)贊
這篇文章主要介紹了jQuery簡(jiǎn)單實(shí)現(xiàn)QQ空間點(diǎn)贊已經(jīng)取消點(diǎn)贊的代碼,非常的好用,這里推薦給大家,有需要的小伙伴參考下。2015-04-04jQuery ajax BUG:object doesn''t support this property or met
使用$.ajax時(shí)出現(xiàn)的錯(cuò)誤,IE7下才會(huì)出錯(cuò),IE6,IE8都正常。2010-07-07基于jquery的防止大圖片撐破頁(yè)面的實(shí)現(xiàn)代碼(立即縮放)
這篇文章將根據(jù)此寫(xiě)一個(gè)應(yīng)用:讓圖片未加載完畢就實(shí)現(xiàn)按比例自適應(yīng),防止圖片撐破布局(尤其是外鏈圖片)2011-10-10騰訊與新浪的通過(guò)IP地址獲取當(dāng)前地理位置(省份)的接口
通過(guò)IP地址獲取當(dāng)前地理位置(省份)的接口,方便大家可以直接使用結(jié)合自己的系統(tǒng)。2010-07-07jQuery實(shí)現(xiàn)花式輪播之圣誕節(jié)禮物傳送效果
這篇文章主要介紹了jQuery實(shí)現(xiàn)花式輪播之圣誕節(jié)禮物傳送效果,需要的朋友可以參考下2016-12-12jQuery中使用data()方法讀取HTML5自定義屬性data-*實(shí)例
如果你使用jQuery類庫(kù),那么你可以非常愉悅的使用jquery的data()方法存取data-* 自定義屬性,方法允許我們?cè)贒OM元素上綁定任意類型的數(shù)據(jù),避免了循環(huán)引用的內(nèi)存泄漏風(fēng)險(xiǎn)2014-04-04