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