ztree初始化后默认点击第一个节点

原来的写法
//初始化
$(document)
    .ready(function () {
        var tree = $("#treeIndustryCategory");
        var ztree=$.fn.zTree.init($("#treeIndustryCategory"), setting);
        //初始化添加箭头标签
        tree.addClass("showIcon");
        if (ztree!=null) {
            $("#treeIndustryCategory_1_a").click();
        }
    });

这样存在的问题是 单步调试可以实现 但是正常情况下无法实现点击第一个节点的目的


原因是 此时异步加载数据并没有进结束 点击事件需要在异步加载之后触发 因此采用以下方法

var setting = {
    //异步加载
    async: {
        enable: true,
        url: "/IndustryCategory/GetIndustryCategoryJson",
    },
    view: {
        //自定义按钮
        expandSpeed: "",
        selectedMulti: false,
        addDiyDom: addDiyDom,
        showIcon: false,
        showLine: false
    },
    edit: {
        //设置可编辑
        enable: true,
        drag: {
            prev: true,
            next: true,
            inner: false,
        }
    },
    data: {
        simpleData: {
            enable: true
        }
    },
    callback: {
        //定义重命名,点击等回调
        beforeRename: beforeRename,
        onRename: zTreeOnRename,
        onClick: zTreeOnClick,
        beforeDrop: zTreeBeforeDrop,
        onDrop: zTreeOnDrop,
        onAsyncSuccess: showRight //异步加载数据完成后的回调函数
    }
};

//初始化
$(document)
    .ready(function () {
        var tree = $("#treeIndustryCategory");
        $.fn.zTree.init($("#treeIndustryCategory"), setting);
        //初始化添加箭头标签
        tree.addClass("showIcon");
    });

//初始化点击事件 异步加载数据完成后调用
function showRight() {
    if ($("#treeIndustryCategory_1_a").length > 0) {
        $("#treeIndustryCategory_1_a").click();
    }
}

用ztree自带的异步加载完成后的回调(
onAsyncSuccess
)触发要执行的函数是function showRight() 最终实现要实现的效果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值