码迷,mamicode.com
首页 > 其他好文 > 详细

zTree异步加载自动展开

时间:2015-07-26 06:22:39      阅读:1218      评论:0      收藏:0      [点我收藏+]

标签:

最近在处理一个树形菜单,要做到异步加载、自动展开。可怎么搞都不行,要点击一下才能展开所有。

使用的zTree版本是v3.5.18。其实还是蛮简单的。话不多说,代码如下:

/**
 * 初始化菜单
 */
var initTree = function(treeId) {
    var settings = {
            treeId: treeId,
            async: {
                enable: true,
                type: ‘post‘,
                dataType: ‘json‘,
                url: ‘menu/getMenusByParentId‘,
                // 查询子菜单参数,传父节点id、以及父节点是否为叶子。叶子节点将不再查询,提高性能
                autoParam: ["id=parent_id", "is_leaf"], 
                dataFilter: function(treeId, parentNode, responseData) {
                    if(responseData) {
                        for(var i = 0, length = responseData.length; i < length; i++) {
                            var node = responseData[i];
                            if(node.is_leaf == 0) {//节点的isParent=true,才会异步加载子节点
                                node.isParent = true;
                            }
                        }
                    }
                    
                    return responseData;
                }
            },
            callback: {                    
                onAsyncSuccess: function(event, treeId, treeNode, msg){// 此回调函数可逐级异步展开子节点
                    if(treeNode.isParent == true && treeNode.children && treeNode.children.length > 0) {
                        var children = treeNode.children;                        
                        for(var i = 0, length = children.length; i < length; i++) {
                            refreshTree(children[i]);
                        }
                        this.expandNode(treeNode, true);
                    }
                }
            }
    };
    
    var rootNode = {name:"菜单", murl:‘‘, isParent: true, open:false, id: 0, is_leaf: 0};
    var zTreeObj = $.fn.zTree.init($("#"+treeId), settings, rootNode);
    // 异步加载树.这里要注意:直接传rootNode异步刷新树,将无法展开rootNode。要通过如下方式获取根节点。false参数展开本节点
    zTreeObj.reAsyncChildNodes(zTreeObj.getNodes()[0], "refresh", false);        
};


zTree异步加载自动展开

标签:

原文地址:http://my.oschina.net/u/2007041/blog/483774

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!