zTree常用操作

取消选中和取消勾选所有节点
var treeObj = $.fn.zTree.getZTreeObj("layerGroupTree");
treeObj.cancelSelectedNode(); // 取消选中的所有节点
treeObj.checkAllNodes(false); // 取消勾选的所有节点
全部选中所有的节点
var treeObj = $.fn.zTree.getZTreeObj("layerGroupTree");
var node = treeObj.getNodes(); // 得到全部节点
var nodes = treeObj.transformToArray(node); // 全部节点转换成数组array
var checkNode = treeObj.getCheckedNodes().length; // 得到被选中的节点数量
if (checkNode < nodes.length) { // 已选中的节点数小于总数 - 全选
    treeObj.checkAllNodes(true); // 给全部节点设置为true
} else{
    treeObj.checkAllNodes(false); // 给全部节点设置为false
}
修改节点
var treeObj = $.fn.zTree.getZTreeObj("layerGroupTree"); // 取zTree对象
var treeNode = treeObj.getNodeByParam("id", node.id); // 根据id找到要修改的树的节点
treeNode.name = node.name; // 为要修改的结点赋值
treeNode.type = node.type;
treeObj.updateNode(treeNode); // 更新该结点
删除节点
var treeObj = $.fn.zTree.getZTreeObj("layerGroupTree");
var treeNode = treeObj.getNodeByParam("id", node.id);
treeObj.removeNode(treeNode);
得到当前节点的父节点
var treeObj = $.fn.zTree.getZTreeObj("layerGroupTree");
var treeNode = treeObj.getNodeByParam("id", node.id);
var parentNode = treeNode.getParentNode();
自动点击某节点
var treeObj = $.fn.zTree.getZTreeObj("layerGroupTree");
var treeNode = treeObj.getNodeByParam("id", node.id);
$("#" + treeNode.tId + "_a").click();
找到当前节点的根节点
function findRoot(treeNode) {
    var parentNodes = treeNode.getPath();
    for(var key in parentNodes){
        if(parentNodes[key].level == 0){ // 根节点的level为0
            console.log("当前节点的跟节点:" + JSON.stringify(parentNodes[key]));
            return parentNodes[key];
        }
    }
}
递归查询当前节点下面的全部子节点
function getZTreeChildrenNode(treeNode, result) {
    if (treeNode.children != null) {
        var childrenNodes = treeNode.children;
        if (childrenNodes) {
            for (var i = 0; i < childrenNodes.length; i++) {
                result.push(childrenNodes[i]);
                result = getzTreeChildrenNode(childrenNodes[i], result);
            }
        }
    }
    return result;
}
得到树的所有叶子结点id列表
function getAllLeafNodeId(treeObj) {
    var leftIdList = new Array();
    $.each(treeObj.transformToArray(treeObj.getNodes()), function (key, node) {
        if (node.children == null || node.children.length == 0) {
            leftIdList.push(node.id);
        }
    });
    return leftIdList;
}
设置不允许勾选父节点
var setting = {
    callback: {
        beforeCheck: zTreeBeforeCheck
    }
}

function zTreeBeforeCheck(treeId, treeNode) {
    return !treeNode.isParent; // 返回false不允许选取
}
checkbox设置父子联动
// Y属性定义checkbox被勾选后的情况
// N属性定义checkbox取消勾选后的情况
// p表示操作会影响父级节点
// s表示操作会影响子级节点
var setting = {
    check: {
        enable: true,
        chkStyle: "checkbox",
        chkboxType: {"Y": "ps", "N": "ps"} // 表示父节点和子节点都受影响
    }
}
取消选中某个节点
var treeObj = $.fn.zTree.getZTreeObj("layerGroupTree"); // 取zTree对象
var treeNode = treeObj.getNodeByParam("id", node.id); // 根据id找到要修改的树的节点
treeObj.checkNode(treeNode, false, false, false); // 第三个参数false表示,勾选本节点,不会级联到子节点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值