@zTree 你好,想跟你请教个问题:
我想添加一个唯一的静态根节点,根节点下面的数据再从数据库读取,应该怎么设置呢?
<SCRIPT type="text/javascript"> <!-- var setting = { view: { addHoverDom: addHoverDom, removeHoverDom: removeHoverDom, selectedMulti: false }, check: { enable: false }, data: { simpleData: { enable: true } }, edit: { enable: true }, async: { enable: true, url:"/res/fetchData?pid=0", autoParam:["id", "name"], otherParam:{"otherParam":"zTreeAsyncTest"}, // dataType: "text",//默认text // type:"get",//默认post dataFilter: filter //异步返回后经过Filter }, callback:{ // beforeAsync: zTreeBeforeAsync, // 异步加载事件之前得到相应信息 asyncSuccess: zTreeOnAsyncSuccess,//异步加载成功的fun asyncError: zTreeOnAsyncError, //加载错误的fun beforeClick:beforeClick //捕获单击节点之前的事件回调函数 } }; //treeId是treeDemo function filter(treeId, parentNode, childNodes) { if (!childNodes) return null; for (var i=0, l=childNodes.length; i<l; i++) { childNodes[i].name = childNodes[i].name.replace('',''); } return childNodes; } function beforeClick(treeId,treeNode){ if(!treeNode.isParent){ alert("请选择父节点"); return false; }else{ return true; } } function zTreeOnAsyncError(event, treeId, treeNode){ alert("异步加载失败!"); } function zTreeOnAsyncSuccess(event, treeId, treeNode, msg){ } /***********************当你点击父节点是,会异步访问servlet,把id传过去*****************************/ var zNodes=[]; $(document).ready(function(){ $.fn.zTree.init($("#treeDemo"), setting, zNodes); }); var newCount = 1; function addHoverDom(treeId, treeNode) { var sObj = $("#" + treeNode.tId + "_span"); if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length>0) return; var addStr = "<span class='button add' id='addBtn_" + treeNode.tId + "' title='add node' onfocus='this.blur();'></span>"; sObj.after(addStr); var btn = $("#addBtn_"+treeNode.tId); if (btn) btn.bind("click", function(){ var zTree = $.fn.zTree.getZTreeObj("treeDemo"); zTree.addNodes(treeNode, {id:(100 + newCount), pId:treeNode.id, name:"new node" + (newCount++)}); return false; }); }; function removeHoverDom(treeId, treeNode) { $("#addBtn_"+treeNode.tId).unbind().remove(); }; //--> </SCRIPT>
初始化的时候传入你需要的根节点就是了, 设置 isParent:true 就可以了, 同时开启你的异步加载模式, 展开这个根节点时,就会自动进行异步加载, 当然你也可以在init 后,强行使用 expandNode 方法让 根节点展开, 自动加载子节点######数据库里现在有多个同级的根节点,想在它们的上面再加一层唯一的根节点,你说的是不是在数据层面做到只有一个根节点呢?######其实看你后台要怎么做,你可以用sql初始化一个根节点到后台;或者你拉取数据的时候发现没有根节点,用代码插入一个根节点。数据到前台后,ztree文档很详细了,简单设置下节点就好。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。