1. 程式人生 > >ztree樹父節點不被選中或獲取所有節點不獲取父節點值的方法

ztree樹父節點不被選中或獲取所有節點不獲取父節點值的方法

專案中使用ztree,複選框選擇節點會把父節點給勾上,獲取節點值時不想獲取父節點的值。那麼怎麼做呢?查api,在treeNode的操作裡找到了解決方法。
一、第一種方法是生成樹時設定父節點不被選中(不推薦,失去了複選框關聯的便利)

var nodes = [
    { "id":1, "name":"test1", "nocheck":true},
    { "id":2, "name":"test2"},
    { "id":3, "name":"test3"}
    ]
    方法是生成父節點拼接過程中,加入treeNode的"nocheck":true,禁止該節點被選中。
二、第二種方法是選中節點賦值時,判斷是否是父節點(推薦用這個)
 function onCheck(e,treeId,treeNode){
        var treeObj=$.fn.zTree.getZTreeObj("TreeDemo");
        var nodes=treeObj.getCheckedNodes(true);
        var c="";
        for(var i=0;i<nodes.length;i++){
            if(nodes[i].isParent!=true){
                c+=nodes[i].id+",";
                alert(c);
            }
    }
}

這是根據treeNode的isParent來判斷的。
treeNode節點更詳細的操作可以去看ztee的官方api。
下面是ztree3.5的官方demo及api
http://download.csdn.net/detail/cs6704/9374092