在展开所有子节点之前,单击顶部父节点如何选择/取消选择递归子节点?
问题: 如果我们选择/取消选择highcheck树的最顶部节点,它将选择/取消选择resp。只有第二层以下的节点。因此,如果存在第三个级别,在单击顶部父节点时,选择/取消选择将不维持在相同级别和其他级别,除非我们展开所有节点。
问题的原因: 我发现的是,最初它只为父级的第二级创建html。如果我们点击子关卡,它将创建下一个关卡(如果存在的话)。因此,如果我们在展开所有节点之前单击最上面的节点,则不会维护选择/取消选择。
我找到了同样的解决方案。我们可以通过首先展开所有节点,然后使用下面的代码折叠所有节点来创建所有节点来完成任务:
//for creating all nodes initially
function createAllNodesInitially(node) {
/*To display whole High Check Tree expanded Initially*/
setTimeout(function(){$('.collapsed').click() }, 1000);
for(var i = 0; i < node.length; i++) {
if(node[i].children != undefined){
createAllNodesInitially(node[i].children);
}
}
/*To display whole check tree collapsed after creating all nodes Initially */
setTimeout(function(){$('.expanded').click() }, 1000);
}
createAllNodesInitially(settings.data);
只需将此代码添加到highchecktree.js中。
说明:这将展开所有节点,这将在内部创建所有节点,然后折叠所有子节点。因此,现在在单击最上面的节点时,将自动维护所有递归子节点的选择/取消选择。
这将在highchecktree创建时执行一次(即,initial)。
注意:如果您想初始显示所有节点扩展,只需从代码中删除下面一行的/注释:
setTimeout(函数(){$ (' .expanded) .click ()}, 1000);