首页 >web前端 >js教程 > 正文

zTree异步加载全部节点

原创2016-11-25 11:10:350852
引用的头部文件代码

<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/component/ztree/css/zTreeStyle/zTreeStyle.css" />

<script type="text/javascript" src="<%=request.getContextPath()%>/component/ztree/js/jquery-1.4.4.min.js"></script>

<script type="text/javascript" src="<%=request.getContextPath()%>/component/ztree/js/jquery.ztree.core.js"></script>

<script type="text/javascript" src="<%=request.getContextPath()%>/component/ztree/js/jquery.ztree.excheck.js"></script>

树的载体代码

<div style="border:solid 1px #a7b5bc; float:left; width:100%; height:100%; overflow-y:auto;">  
    <ul id="tree" class="ztree"></ul>  
</div>

Javascript部分(本文重点)代码

<script type="text/javascript">  
    //初始化树  
    $(function() {  
        $zTree = $.fn.zTree.init($("#tree"), $setting);  
          
        //延迟展开根节点  
        setTimeout(function(){  
            var nodes = $zTree.getNodes();  
            if(nodes.length >0){  
                $zTree.expandNode($zTree.getNodes()[0], true, false, false);  
            }  
        },1000);  
    });  
      
    //定义ztree树所需变量  
    var $zTree;  
    var $zTreeFlag = true;  
    var $setting = {  
        async : {  
            enable : true,  
            url : "/baseplatform/auth/selectSysRoleUserTreeByPid.do",  
            autoParam : ["id"],  
            otherParam: {"srId":'${sysRole.srId}'}  
        },  
        callback : {  
            onAsyncSuccess : onAsyncSuccess  
        },  
        data : {  
            key : {name : "name"},  
            simpleData : {enable : true, idKey : "id", pIdKey : "pId", rootPId : -1}  
        },  
        check: {  
            enable: true  
        }  
    };  
      
    //每次加载节点触发的方法  
    function onAsyncSuccess(event, treeId, treeNode, msg) {  
        //递归展开子节点  
        if(treeNode != undefined){  
            expandNodes(treeNode.children, "tree");  
        }  
    }  
              
    //递归展开子节点  
    function expandNodes(nodes, treeId) {  
        if (!nodes) return;  
        var zTree = $.fn.zTree.getZTreeObj(treeId);  
        for (var i=0, l=nodes.length; i<l; i++) {  
            zTree.expandNode(nodes[i], true, false, false);  
            if (nodes[i].isParent && nodes[i].zAsync) {  
                expandNodes(nodes[i].children, treeId);  
            }  
        }  
    }  
</script>
php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 专题推荐

    推荐视频教程
  • javascript初级视频教程javascript初级视频教程
  • jquery 基础视频教程jquery 基础视频教程
  • 视频教程分类