天天看點

zTree筆記,設定無法勾選父節點(禁用父節點)和父節點禁用時回顯選中子節點時關聯父節點狀态

名稱 連結
zTree API ​​http://www.treejs.cn/v3/api.php​​
zTree Demo ​​http://www.treejs.cn/v3/demo.php#_101​​

最近又用到了zTree,雖然zTree的APi已經很全很友善很易懂了,但是難免有的方法找不到。為了友善他人友善自己,做下筆記記錄下

zTree筆記1 設定無法選擇父節點

要達成這個目的,思路是綁定一個勾選的回調事件,此時判斷選中的是否為父節點,是的話return false勾選狀态不變

zTree筆記,設定無法勾選父節點(禁用父節點)和父節點禁用時回顯選中子節點時關聯父節點狀态

代碼如下:

callback: {
        beforeCheck: zTreeBeforeCheck
    }

    function zTreeBeforeCheck(treeId, treeNode) {
        return !treeNode.isParent;//當是父節點 傳回false 不讓選取
    }
      

zTree筆記2 父節點無法勾選時,回顯的時候如何勾選子節點并勾選父節點

第一點是chkboxType要配置好父子節點關聯,不過預設是關聯的,一般情況下可以直接忽略

zTree筆記,設定無法勾選父節點(禁用父節點)和父節點禁用時回顯選中子節點時關聯父節點狀态

第二點,這個問題出現的原因是因為在之前設定了當選中父節點時會傳回false而無法選中。是以可以使用checkNode方法,選擇不觸發回調函數就可以了。

var treeObj = $.fn.zTree.getZTreeObj("tree");
var nodes = treeObj.getSelectedNodes();
for (var i=0, l=nodes.length; i < l; i++) {
  treeObj.checkNode(nodes[i], true, true);
}