zTree获取(子)节点

1 var ids=[];
2 ids=getChildren(ids, treeNode);//TreeNode是选中节点,ids是子节点id数组,格式:123,223,4,55

1.获取直接子节点的id

//返回值包含选中节点的id,即ids[0]
function getChildren(ids, treeNode) {
   ids.push(treeNode.id);//选中节点id,即父节点id
   if (treeNode.isParent) {
       for (var obj in treeNode.children) {
            getChildren(ids, treeNode.children[obj]);
       }
   }
   return ids;
}

2.获取全部子节点id

 1 //返回值是否包含选中节点id,根据情况而定
 2 function getChildren(ids, treeNode) {
 3    ids.push(treeNode.id);//选中节点id,即父节点id
 4    if (treeNode.isParent) {
 5        for (var obj in treeNode.children) {
 6             ids.push(treeNode.children[obj].id);
 7        }
 8    }
 9    return ids;
10 }

 3.获取某节点的所有子节点

1 function getChildrenNodes(nodes, treeNode) {
2    nodes.push(treeNode);
3    if (treeNode.isParent) {
4         for(var obj in treeNode.children) {
5             getChildrenNodes(nodes, treeNode.children[obj]);
6         }
7    }
8    return nodes;
9 }

 4.获取zTree的全部节点

1 var nodes = [];
2 var treeObj = $.fn.zTree.getZTreeObj("treeDemo");//zTree对象
3 var roots = treeObj.getNodes(); //所有一级节点
4 for (var i = 0; i < roots.length; i++) {
5     nodes = getChildrenNodes(nodes, roots[i]);
6 }

 

posted @ 2015-01-21 21:10  琅琊天  阅读(2777)  评论(0)    收藏  举报