zTree入门篇

来源:互联网 发布:网络安全技术分析论文 编辑:程序博客网 时间:2024/06/14 01:32

前言

zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。
支持静态 和 Ajax 异步加载节点数据.
在开发中我们常需要用到树状的展示.

下载地址

zTree

静态zTree开发流程

引入资源

    <link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type="text/css">    <script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>    <script type="text/javascript" src="../../../js/jquery.ztree.core.js"></script>

html元素

    <div>        <ul id="treeDemo" class="ztree"></ul>    </div>

JS方式一-简单json数据格式

<SCRIPT type="text/javascript">        <!--        var setting = {            data: {                simpleData: {                    enable: true                }            }        };        var zNodes =[            { id:1, pId:0, name:"父节点1 - 展开", open:true},            { id:11, pId:1, name:"父节点11 - 折叠"},            { id:111, pId:11, name:"叶子节点111"},            { id:112, pId:11, name:"叶子节点112"},            { id:113, pId:11, name:"叶子节点113"},            { id:114, pId:11, name:"叶子节点114"},            { id:12, pId:1, name:"父节点12 - 折叠"},            { id:121, pId:12, name:"叶子节点121"},            { id:122, pId:12, name:"叶子节点122"},            { id:123, pId:12, name:"叶子节点123"},            { id:124, pId:12, name:"叶子节点124"},            { id:13, pId:1, name:"父节点13 - 没有子节点", isParent:true},            { id:2, pId:0, name:"父节点2 - 折叠"},            { id:21, pId:2, name:"父节点21 - 展开", open:true},            { id:211, pId:21, name:"叶子节点211"},            { id:212, pId:21, name:"叶子节点212"},            { id:213, pId:21, name:"叶子节点213"},            { id:214, pId:21, name:"叶子节点214"},            { id:22, pId:2, name:"父节点22 - 折叠"},            { id:221, pId:22, name:"叶子节点221"},            { id:222, pId:22, name:"叶子节点222"},            { id:223, pId:22, name:"叶子节点223"},            { id:224, pId:22, name:"叶子节点224"},            { id:23, pId:2, name:"父节点23 - 折叠"},            { id:231, pId:23, name:"叶子节点231"},            { id:232, pId:23, name:"叶子节点232"},            { id:233, pId:23, name:"叶子节点233"},            { id:234, pId:23, name:"叶子节点234"},            { id:3, pId:0, name:"父节点3 - 没有子节点", isParent:true}        ];        $(document).ready(function(){            $.fn.zTree.init($("#treeDemo"), setting, zNodes);        });        //-->    </SCRIPT>

JS方式二-标准json数据格式

<SCRIPT type="text/javascript">        <!--        var setting = { };        var zNodes =[            { name:"父节点1 - 展开", open:true,                children: [                    { name:"父节点11 - 折叠",                        children: [                            { name:"叶子节点111"},                            { name:"叶子节点112"},                            { name:"叶子节点113"},                            { name:"叶子节点114"}                        ]},                    { name:"父节点12 - 折叠",                        children: [                            { name:"叶子节点121"},                            { name:"叶子节点122"},                            { name:"叶子节点123"},                            { name:"叶子节点124"}                        ]},                    { name:"父节点13 - 没有子节点", isParent:true}                ]},            { name:"父节点2 - 折叠",                children: [                    { name:"父节点21 - 展开", open:true,                        children: [                            { name:"叶子节点211"},                            { name:"叶子节点212"},                            { name:"叶子节点213"},                            { name:"叶子节点214"}                        ]},                    { name:"父节点22 - 折叠",                        children: [                            { name:"叶子节点221"},                            { name:"叶子节点222"},                            { name:"叶子节点223"},                            { name:"叶子节点224"}                        ]},                    { name:"父节点23 - 折叠",                        children: [                            { name:"叶子节点231"},                            { name:"叶子节点232"},                            { name:"叶子节点233"},                            { name:"叶子节点234"}                        ]}                ]},            { name:"父节点3 - 没有子节点", isParent:true}        ];        $(document).ready(function(){            $.fn.zTree.init($("#treeDemo"), setting, zNodes);        });        //-->    </SCRIPT>

异步zTree加载

前面的配置相同,在此不再阐述.主要是js不同.

异步JS

var setting = {    //可勾选    check: {            enable: true        },    data : {        simpleData : {            enable : true        }    }};    function initTree(){        var payFreq = $("#payFreq").val();        var fyType = $('#fyType').val();        var setHzType = $('#setHzType').val();        $.ajax({            url : "/demo/initTree",            data : {payFreq:payFreq,                    fyType:fyType,                    setHzType:setHzType            },            success: function(object){                var nodes = "";                //拼接simple格式的json字符串                $.each(object.data, function(i,item) {                  nodes+="{id:'"+item.id+"', pId:'"+item.pid+"', name:'"+item.name+"', isParent:'"+item.isParent+"'},";               });               var zNodes = "["+nodes+"]";               var json = eval('(' + zNodes + ')');                 //console.log(json);               zTreeInit(json);            }        });    }    /* 初始化树 */    function zTreeInit(json) {        $.fn.zTree.init($("#treeDemo"), setting, json);        var zTree = $.fn.zTree.getZTreeObj("treeDemo");        //全部展开        zTree.expandAll(true);        //Y代表勾选时,N代表取消勾选 p代表父节点,s代表字节点        setting.check.chkboxType = { "Y" : "ps", "N" : "ps" };    }

java代码

Controller层

@RequestMapping("initTree")    @ResponseBody    public DataMessage initTree(String setHzType,String payFreq,String fyType){        params.put("setHzType", setHzType);        params.put("fyType", fyType);        params.put("fkmattr_xt", fkmattr_xt);        //获取treeinfo列表        List<TreeInfo> treeInfos =  feeTransferService.initTree(params);        return DataMessage.successData(treeInfos);    }

tree实体类

public class TreeInfo {    private String id;    private String pid;    private String name;    private String isParent;    }

说明

更多实例可以参看zTree中文文档
或参见zTree GitHub
里面更多的示例和说明

0 0
原创粉丝点击