在外部定义变量和方法
//定义变量 接收*节点的值
var topValue;
// 获取*节点值的方法
function getParent(value) {
var val = projectTree.GetParent(value);
if (val == null) {
topValue = value;
return;
} else {
getParent(val.value);
}
}
在click方法中将不是当前一级节点的子节点全部取消选中
projectTree = new layuiXtree({
elem: 'projectTree' //(必填) 放置xtree的容器,样式参照 .xtree_contianer
, form: form //(必填) layui 的 from
, data: res.data //(必填) json数据
, isopen: false
, click: function (data) { //节点选中状态改变事件监听
//获取被选中的节点
var oCks = projectTree.GetChecked(); //根据当前节点的值获取一级节点的值 即当前*父节点的值
getParent(data.value);
var top = topValue; //循环所有节点,将父节点不为当前父节点的节点 设为false
for (var i = 0; i < oCks.length; i++) {
getParent(oCks[i].value);//获取每一个节点的父节点
var cruuTop = topValue;
if (cruuTop != top) { //如果不等于当前父节点 就取消选中
$(oCks[i]).prop("checked", false);
}
}
form.render('checkbox');
}
});