js tree 根据子节点找到所有父节点
Posted 程序员石磊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js tree 根据子节点找到所有父节点相关的知识,希望对你有一定的参考价值。
利用深度优先遍历和递归
var acceptUnitNodes = null;//接收单位树形数据
function findParentNode(ids){ //ids 是子节点数组
var parentNodes = [];//所有父节点
var forfun = function (id,nodes) {
for(var i=0;i<nodes.length;i++){
var currentNode = nodes[i];
if(currentNode.id == id){
return currentNode.id;
}else if(currentNode.children){
var validNodeId = forfun(id,currentNode.children);
if(validNodeId&&parentNodes.indexOf(validNodeId)<0){
parentNodes.push(validNodeId)
}
if(validNodeId){
return currentNode.id;
}
}
}
}
$.each(ids,function (i,item) {
// selectedValues.push(item);
var validNodeId = forfun(item,acceptUnitNodes);
if(validNodeId&&parentNodes.indexOf(validNodeId)<0){
parentNodes.push(validNodeId);
}
})
console.info(parentNodes);
return parentNodes;
}
以上是关于js tree 根据子节点找到所有父节点的主要内容,如果未能解决你的问题,请参考以下文章
easyui Tree模拟级联勾选cascadeCheck,节点选择,父节点自动选中,节点取消,父节点自动取消选择,节点选择,所有子节点全部选择,节点取消,所有子节点全部取消勾选