呵呵,是不是敲字错误闹得?
的确看起来很费解。
大概理解,异步加载每次只加载一级节点,觉得不爽,想全部加载并且展开对吗?
那么我的回答如下:
1、使用了异步加载
又要全部展开这个需求比较矛盾,还不如一次性全部加载后(使用异步加载时也完全可以后台一次性生成全部子孙节点一起加载的),直接全部展开。因为异步加载本来就是为了优化性能,这样的需求异步加载没有什么优势。
2、如果一定要使用,可以利用
onAsyncSuccess
回调在每次异步加载完毕后,利用expandNode
方法将新加载的父节点逐一展开。。这样下去就实现了(在我即将发布的
v32
中将会提供这种 *** 作的Demo)
1 获取当前被选中的节点的父节点
var treeObj = $fnzTreegetZTreeObj("tree");
var sNodes = treeObjgetSelectedNodes();
if (sNodeslength > 0) {
var parentNode = sNodes[0]getParentNode();
}
2获取父节点的节点名称
var parentNodeName=parentNodename;
这里主要用到的是autoParam属性,
这个属性的默认值是[],其实可以在后台直接得到节点id
例如java后台可以直接用
String id = requestgetParameter("id");
当然你也可以像下面这样指定传输id
var setting = {
async: {
enable: true,
url: "getNodedo",
autoParam: ["id"]
}
};
另外这个id属性你可以自定义,如
var setting = {
async: {
enable: true,
url: "getNodedo",
autoParam: ["id=zId"]
}
};
后台用
String id = requestgetParameter("zId");就好了
代码:
var setting = [{callback : {
onDrop: onDrop
}
}]
function onDrop(event, treeId, treeNodes, targetNode, moveType){
var id = treeNodes[0]id;//获得被拖拽的节点id
var targetId = targetNodeid;//获得目标id
}
以上就是关于ztree 异步加载时,怎么获取子节点全部的内容,包括:ztree 异步加载时,怎么获取子节点、zTree怎么获取当前节点的上级节点名、zTree异步加载怎样在后台获取节点id问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)