layui xtree 實現一級節點單選 ,子節點復選


在外部定義變量和方法

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM