ztree可以给定父节点id,然后展开子项的方法吗?
ztree吧
全部回复
仅看楼主
level 1
李伟东775 楼主
比如说有个树,
中国(父节点)
-北京(子节点)
-上海(子节点)
-广州(子节点)
中国这个树是不展开的,给定中国这个节点的id,执行个方法,使树展开,在线等!!
2012年03月23日 05点03分 1
level 11
getNodeByParam 方法可以得到 指定id 的节点;
expandNode 方法可以展开指定节点
2012年03月23日 08点03分 2
level 1
李伟东775 楼主
var node = zTree1.getNodeByParam("id",id);
zTree1.expandNode(node, true, false);
这样写好像不行,麻烦您给看看
2012年03月23日 10点03分 3
level 11
是怎么个不行?? 按道理看这个代码应该没问题呀。
1、检查 zTree1 是否是正常的 treeObj
2、检查 node 是否取到数据,如果是 null 就说明查找的有问题
2012年03月24日 05点03分 4
level 1
李伟东775 楼主
问题解决了! 是您所说的第二种情况,取到的node为null
refreshTree(id, "");
var node = zTree1.getNodeByParam("id",id);
zTree1.expandNode(node, true, false);
是刷新树的问题,之前刷新树的时候id写的是node的父id, 刷新的层数比较浅,所以node拿不到

2012年03月26日 02点03分 5
level 11
:) 解决就好
2012年03月26日 05点03分 6
level 5
分享一个我自己写的例子:
//获得ZTree对象。
var treeObj=$.fn.zTree.getZTreeObj('usermdlTree');
//根据id值获得节点对象,我这里获得是id值为1的对象。
var rootNode=treeObj.getNodeByTId('1');
//调用方法展开节点,第二个参数是:是否展开(要的就是这个)第三个参数是:是否影响全部子节点,我这里不需要。
treeObj.expandNode(rootNode,true,false);
2012年12月05日 02点12分 7
level 11

treeObj.getNodeByTId('1'); 得到的是 tId = 1 的可不是 id =1 的哟!!请记住!!
getNodeByParam("id", 1) 才是 id=1 的
2012年12月05日 13点12分 8
1