zTree ,一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。兼容 IE、FireFox、Chrome 等浏览器,在一个页面内可同时生成多个 Tree 实例、支持 JSON 数据、支持一次性静态生成 和 Ajax 异步加载 两种方式、支持多种事件响应及反馈、支持 Tree 的节点移动、编辑、删除、支持任意更换皮肤 / 个性化图标(依靠css)、支持极其灵活的 checkbox 或 radio 选择功能、简单的参数配置实现 灵活多变的功能等特点。

1、  zTree的核心是zTree(setting, [zTreeNodes])两个属性,这个函数接受一个JSON格式的数据对象setting和一个JSON格式数据的zTreeNodes从而来构建ztree。

2、  setting : zTree 的参数配置都在这里完成,简单的说:树的样式、事件、访问路径等都在这里配置,setting参数数量较多,具体可参考zTree的API,例如:

var setting = {

showLine: true,

checkable: true

};

3、  zTreeNodes:是ztree的全部节点数据结合,采用由JSON对象组成的数据结构;zTreeNodes的格式分为两种:利用Json格式嵌套体现父子关系和Array简单格式。

带有父子关系的标准zTreeNodes如下:

var zTreeNodes = [

{"id":1, "name":"test1", "nodes":[

{"id":11, "name":"test11", "nodes":[

{"id":111, "name":"test111"}

]},

{"id":12, "name":"test12"}

]},

......

];

带有父子关系的简单 Array 格式(isSimpleData)的 zTreeNodes 举例:

var treeNodes = [

{"id":1, "pId":0, "name":"test1"},

{"id":11, "pId":1, "name":"test11"},

{"id":12, "pId":1, "name":"test12"},

{"id":111, "pId":11, "name":"test111"},

......

];

1.1.1          页面构建方式

1、下面详细展示平台中开发所使用的zTree的构建结构以及步骤:

①    页面引用zTree的js和css: 平台中的css,js统一引入公共方法

②    在页面定义zTree盛放容器:

<div flex="20">

<ul id="moduleTree" class="ztree"></ul>

</div>

③    在进入页面时初始化树形数据

$(function() {

zTree = $("#modulTree").zTree(setting, treeNodes);

});

④    在script脚本中定义setting和zTreeNodes:

var treeNodeData = '';

var setting = {};

$(function(){

setting = {

data: {

simpleData: {

enable: true

}

},

callback: {

onClick:moduleClick

}

};

var zTreeNodes = $!{moduleTreeData.encodeJson};

$.fn.zTree.init($("#moduleTree"), setting, zTreeNodes)

1.1.2          后台数据的构建:

数据构建如上图所示,将数据结果加入到zTreeNodes中树形结构数据就封装完成,效果图如下

1.1.3          树形列表与jqgrid表格的应用

开发过程中,需要根据左边树形结构列表的数据去查询数据或者其他具体操作,页面结构如下图展示根据左边节点数据查询数据,页面构建方法如下:

<div flex="20">

<ul id="moduleTree" class="ztree"></ul>

</div>

<!-- 列表 -->

<div flex="80">

<div class="panel-group cus-collapse box-shadow" id="accordion">

<div class="panel panel-default">

<div class="cus-grid" id="grid-wrap">

<table id="jqGrid"></table>

<div id="jqGridPager"></div>

</div>

</div>

</div>

</div>

通过在zTree的setting中定义回掉函数 来调用zTree的onClick方法,如下图展示

这些是我在开发过程中zTree的应用,具体的参数以及内容大家可疑参考http://www.ztree.me/v3/main.php

zTree的功能解析的更多相关文章

  1. SQL Server 数据加密功能解析

    SQL Server 数据加密功能解析 转载自: 腾云阁 https://www.qcloud.com/community/article/194 数据加密是数据库被破解.物理介质被盗.备份被窃取的最 ...

  2. 微信小程序0.11.122100版本新功能解析

    微信小程序0.11.122100版本新功能解析   新版本就不再吐槽了,整的自己跟个愤青似的.人老了,喷不动了,把机会留给年轻人吧.下午随着新版本开放,微信居然破天荒的开放了开发者论坛.我很是担心官方 ...

  3. Unity5 新功能解析--物理渲染与standard shader

    Unity5 新功能解析--物理渲染与standard shader http://blog.csdn.net/leonwei/article/details/48395061 物理渲染是UNITY5 ...

  4. 【原创】Matlab中plot函数全功能解析

    [原创]Matlab中plot函数全功能解析 该帖由Matlab技术论(http://www.matlabsky.com)坛原创,更多精彩内容参见http://www.matlabsky.com 功能 ...

  5. Matlab中plot函数全功能解析

    Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y)plot(X1,Y1,...)plot(X1,Y1,LineSpec,...)plot(...,'PropertyName ...

  6. [国嵌攻略][047][MMU功能解析]

    MMU功能解析 1.Memory Management Unit(存储器管理单元) 2.两个进程读取同一个地址能读到不同的值.因为进程访问的是虚拟地址,通过MMU转换成不同的物理地址.不同的进程通过M ...

  7. 自写 zTree搜索功能 -- 关键字查询 -- 递归无限层

    唠叨一哈 前两天朋友跟我说要一个ztree的搜索功能,我劈头就是一巴掌:这种方法难道无数前辈还做少了?自己去找,我很忙~然后我默默地蹲着写zTree的搜索方法去了.为什么呢?因为我说了句“找不到是不可 ...

  8. Lemon OA第2篇:功能解析方法

    Lemon OA,整个系统功能也算是比较丰富,OA的很多功能都能看见影子,虽然做得不是很强大 接触Lemon OA,起源于Activiti的学习热情,既然这样,研究Lemon OA的目标有3: 1.L ...

  9. java -D 参数功能解析

    我们都知道在启动tomcat或直接执行java命令的时候可以通过参数-XX等来配置虚拟机的大小,同样,也应该留意到java -Dkey=value的参数.那么这个参数是什么作用呢? 使用案例 其实,在 ...

随机推荐

  1. NPOI 2.0版本的使用

    详细教程: http://blog.csdn.net/xxs77ch/article/details/50216033 using System; using System.Collections.G ...

  2. Splinter学习--初探1,模拟百度搜索

    Splinter是以Selenium, PhantomJS 和 zope.testbrowser为基础构建的web自动化测试工具,基本原理同selenium 支持的浏览器包括:Chrome, Fire ...

  3. Window Server 2012 R2 没有照片查看器 打开图片都是画板问题怎么解决

    新安装了 Window Server 2012 R2 系统,感觉屌屌的样子,加上开机速度蛮快,心里略爽.结果,打开图片一看,发现竟然是画板,而且还没有照片查看器,顿时泪流满面. 后来我利用了强大的百度 ...

  4. LSD-SLAM深入学习(2)-算法解析

    前言 在LSD-SLAM深入学习(1)中我们已经完成基本的安装与测试,在此我们继续解析算法与代码,由于lsd-slam本身利用了一部分李群与李代数的知识,需要一定的数学功底. 个人理解错误的地方还请不 ...

  5. js基础到精通全面教程--JS教程

    适合阅读范围:对JavaScript一无所知-离精通只差一步之遥的人 基础知识:HTML JavaScript就这么回事1:基础知识 1 创建脚本块 1: <script language=”J ...

  6. AndroidLinker与SO加壳技术之上篇

    1. 前言 Android 系统安全愈发重要,像传统pc安全的可执行文件加固一样,应用加固是Android系统安全中非常重要的一环.目前Android 应用加固可以分为dex加固和Native加固,N ...

  7. Q_OBJECT

    所有QObject的派生类在官方文档中都推荐在头文件中放置宏Q_OBJECT,那么该宏到底为我们做了哪些工作?在qobjectdef.h中有下面的代码: #define Q_OBJECT \ publ ...

  8. virtual 修饰符 C# .NET

    virtual 关键字用于修饰方法.属性.索引器或事件声明,并且允许在派生类中重写这些对象. 例如,此方法可被任何继承它的类重写. (C#参考) public virtual double Area( ...

  9. mybatis中表与表之间的关联

    第三天 1.mybatis处理表与表之间的关系? 比如要在帖子回复表里显示其它两张相关联表的信息. 处理的第一种方式: 1)主要的数据实体类是ReplyInfo,相关联的实体表的数据是TitleInf ...

  10. Spring和mybatis整合后的mybais-config.xml配置

    <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC & ...