在外部定義變量和方法
//定義變量 接收頂級節點的值 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'); } });