zTree异步加载时,所有节点isParent设为true,点击打开后出现undefined子节点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zTree异步加载时,所有节点isParent设为true,点击打开后出现undefined子节点相关的知识,希望对你有一定的参考价值。
上图是运行效果,点击打开后回出现undefined子节点,但是当把async设为false时就不会出现这种情况了。
问题:
1、为什么异步加载会出现上述错误,而同步加载就不会呢?
2、如果保持使用异步加载,该怎么解决上述问题呢?
3、实际操作中发现,将“集团-公司-部门-小组”的树状结构的数据库表设计为“id name pId”,在后台不容易对特定节点进行isParent和open控制,那么将数据库表设计为什么样子比较便于对树节点的增删改查等操作呢?
但是按你说的方法,那么子节点个数为0的节点的图标就不是文件夹了呀。。。
参考技术A function zTreeOnAsyncSuccess(event, treeId, treeNode, msg)if("undefined" === msg)
return false;
;
请求成功的方法里面后台判断如果没有子目录传个msg的值过来返回false就不会生成了 参考技术B 请问你解决了吗?我也碰上了这个问题:当把async设为false时,击打开后才不出现undefined子节点,请问你当时怎么解决的呢
ztree 异步加载 节点点击事件无触发 只有第一次刷新的时候才加载!
代码:
var setting =
async:
enable: true,
url: "BDSys_List.ashx?&action=userTree",
asyncParam: ["id", "pId", "name"], //异步调用时传到后台的参数
otherParam: "otherParam": "zTreeAsyncTest" ,
dataFilter: filter
;
function filter(treeId, parentNode, childNodes)
for (var i = 0; i < childNodes.Rows.length; i++)
childNodes.Rows[0]['open'] = true;
childNodes.Rows[i]['id'] = i;
childNodes.Rows[i]['pId'] = 0;
childNodes.Rows[i]['name'] = childNodes.Rows[i]['DeviceID'];
return childNodes.Rows;
var zTree, HoldID;
$(function ()
seadMsg_add.attr("disabled", true);
$("#layout").ligerLayout( leftWidth: 180, topHeight: '95%', width: '95%', space: 2 );
$.fn.zTree.init($("#userTree"), setting);
以上是关于zTree异步加载时,所有节点isParent设为true,点击打开后出现undefined子节点的主要内容,如果未能解决你的问题,请参考以下文章