其他分享
首页 > 其他分享> > Ztree 加载数据默认不勾选父节点

Ztree 加载数据默认不勾选父节点

作者:互联网

随笔记录,ztree 加载数据子节点全部勾选默认是不勾选父节点,官方说法是不干预用户数据。

而某些场景下我们又需要这样做,有两种办法处理,

1、在初始化Ztree前处理数据中的checked

2、初始化Ztree后利用checkNode来处理勾选(本人使用这种)

 

直接上代码

 1   // 设置父节点勾选状态
 2   function setParentCheck(treeObj) {
 3     var checkNodes = treeObj.getCheckedNodes();
 4       $.each(checkNodes, function (index, node) {
 5       // 获取所有父节点
 6       setParamNodeheck(treeObj, node);
 7     })
 8   }
 9 
10   // 处理勾选
11   function setParamNodeheck(treeObj, node) {
12     var t = node.getParentNode();
13       var num = 0;
14       $.each(t.children, function (i, item) {
15         if (item.checked == true) {
16            num++;
17          }
18       })
19 
20      // 子节点全部勾选就勾选父类节点
21       if (num == t.children.length) {
22         treeObj.checkNode(t, true);
23         // 父级id不为顶级,继续处理上一级父级
24         if (t.pId != "0") {
25          setParamNodeheck(treeObj, t);
26         }
27       }
28   }

初始化完Ztree后, 调用 setParentCheck方法, 当然参数可自行选择,灵活处理。

记录分享,仅供参考。

 

搜索初始化 zTree 之后,利用 checkNode 方法进行勾选初始化 zTree 之后,利用 checkNode 方法进行勾选

复制

标签:初始化,选父,勾选,Ztree,checkNode,treeObj,节点,加载
来源: https://www.cnblogs.com/luoye-s/p/16284514.html