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