$(function() { var url = ctx + "jcy/ssqx/roleMenuTreeData?xqdid=" + $("#xqdid").val(); var options = { id: "menuTrees2", url: url, check: { enable: true,chkboxType: {"Y": "", "N": ""} }, expandLevel: 0 }; $.tree3.init(options); }); 如何加上 // 不允许根父节点选择 notAllowParents: function (_tree) { var nodes = _tree.getSelectedNodes(); if (nodes.length == 0) { $.modal.msgError("请选择节点后提交"); return false; } for (var i = 0; i < nodes.length; i++) { if (nodes[i].level == 0) { $.modal.msgError("不能选择根节点(" + nodes[i].name + ")"); return false; } if (nodes[i].isParent) { $.modal.msgError("不能选择父节点(" + nodes[i].name + ")"); return false; } } return true; }, 让ztree不可以选择父节点
时间: 2024-02-10 18:14:25 浏览: 72
您可以在原有的代码基础上,添加以下内容来实现不允许选择父节点:
1. 在初始化树形菜单时,添加一个参数:
`check: { enable: true, chkboxType: {"Y": "", "N": ""}, autoCheckTrigger: false }`
其中,`autoCheckTrigger: false` 表示不自动勾选父节点。
2. 在 `notAllowParents` 函数中,添加以下判断:
```
for (var i = 0; i < nodes.length; i++) {
if (nodes[i].getParentNode() != null && nodes[i].getParentNode().check_Child_State === 2) {
$.modal.msgError("不能选择父节点(" + nodes[i].name + ")");
return false;
}
}
```
其中,`getParentNode()` 函数用于获取节点的父节点,`check_Child_State` 属性用于获取节点的子节点的勾选状态,如果为 2,表示子节点有勾选的节点。
完整代码如下:
```
$(function() {
var url = ctx + "jcy/ssqx/roleMenuTreeData?xqdid=" + $("#xqdid").val();
var options = {
id: "menuTrees2",
url: url,
check: { enable: true, chkboxType: {"Y": "", "N": ""}, autoCheckTrigger: false },
expandLevel: 0
};
$.tree3.init(options);
// 不允许根父节点选择
notAllowParents: function (_tree) {
var nodes = _tree.getSelectedNodes();
if (nodes.length == 0) {
$.modal.msgError("请选择节点后提交");
return false;
}
for (var i = 0; i < nodes.length; i++) {
if (nodes[i].getParentNode() != null && nodes[i].getParentNode().check_Child_State === 2) {
$.modal.msgError("不能选择父节点(" + nodes[i].name + ")");
return false;
}
}
return true;
},
});
```
阅读全文