zTree點擊節點內容改變當前節點及下級(一級)節點的狀態

var zTree = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
var setting = {
        check: {
                enable: true,
                chkStyle: "checkbox",
                chkboxType: {
                        "Y": "ps",
                        "N": "s"
                }
        },
        data: {
                simpleData: {
                        enable: true
                }
        },
        view: {
                showIcon: false
        },
        callback: {
                onClick: function zTreeOnClick(event, treeId, treeNode) {
                        var checkedFlag = treeNode.checked;
                        if (checkedFlag) {
                                // 若是已經選中,則取消選中狀態
                                setChildrenCheckedState(treeNode, false);
                        } else {
                                // 若是沒有選中,則設置爲選中狀態
                                setChildrenCheckedState(treeNode, true);
                        }
                }
        }
};

//設置選中的節點treeNode下全部的子節點的選中狀態
function setChildrenCheckedState(treeNode, flag) {
        // 設置被點擊的節點選中狀態
        treeNode.checked = flag;
        // 須要更新才能正確顯示更新後的狀態
        zTree.updateNode(treeNode);

        if (treeNode.isParent) {
                for (var obj in treeNode.children) {
                        treeNode.children[obj].checked = flag;
                        zTree.updateNode(treeNode.children[obj]);
                }
        }
}
相關文章
相關標籤/搜索