接上一篇博客:https://blog.csdn.net/qq_39771221/article/details/104399694 已经处理了父子节点的之间的勾选关系 :节点的子节点都被勾选,则节点被勾选,节点的子节点是部门勾选,则节点不会被勾选;
现在:在所有被选择的的节点中,节点的父节点存在,则去掉该节点(开始想的递归,因为节点的父节点的父节点也有可能被选了) ,其实很简单 一句代码搞定:
function doSomeCheckedNode() {
var checkedNodes=$("#tree").treeview("getChecked");
var getNeedNodes=[];
for(var item of checkedNodes){
var parentId=item.parentId;
//查看当前节点的父节点是否也被选择了
if(!checkedNodes.find((node)=>node.nodeId==parentId)){
getNeedNodes.push(item);
}
}
return getNeedNodes;
}
几个例子: