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. 一次疏忽导致的bug

    NBB_PUT_SHORT 这个宏是按char* 类型算指针的实际工作中,没有注意这一点,输入指针类型 强转为了 SHORT* 导致 填充的内容错误 这是第一次在工作中遇到 指针类型相关的问题值得记录 ...

  2. linux shell执行中需要交互输入回车,Yes/NO Y/N

    最近写自动安装脚本遇到redis-server安装的时候,需要输入3个回车,对此尝试无果,最后google比较满意的解决办法: shell 脚本需要交互,比如输入回车,输入YES/NO Y/N之类进行 ...

  3. Codeforces 702C Cellular Network

    题目:这里 题意:一条数轴上,有n个城市和m个塔,分别给出城市的位置和塔的位置,每个塔有个覆盖范围,问能将所有城市都覆盖的塔的最小范围是多少,一个城市只要被至少一个塔 覆盖就行. 可以利用贪心的思想模 ...

  4. hbuilder中如何使用egit上传项目

    刚开始使用时,我也是遵照网上的教程来的,其实就那一篇教程,到处被转载,怎么搜都是那一个,实际操作发现有点小不同,所以实际截图给大家一个参考. 1.首先肯定是进入hbuilder下载egit插件啦.(工 ...

  5. easy ui 零散技巧

    1.Jquery带上下文查找: 格式:$(selector,context) 例如:$("input",window.document),查找当前文档下的说有input元素,也等价 ...

  6. CentOS下搭建SVN

    1.安装svn yum -y install subversion 2.创建hydata目录 mkdir -p /var/svn/hydata 3.创建 m 目录 mkdir -p /var/svn/ ...

  7. 文件消息的简单样式demo

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. Oracle sys和system用户、sysdba 和sysoper系统权限、sysdba和dba角色的区别

    sys和system用户区别 1)最重要的区别,存储的数据的重要性不同 sys所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己 ...

  9. 大前端学习笔记整理【二】CSS视觉格式化模型

    1. 概念 在视觉格式化模型中,文档树中的每个元素都将会根据盒模型产生零到多个盒子.这些盒子的布局由如下因素决定: 盒子的尺寸和类型 定位策略(正常文档流,浮动或者绝对定位) 和文档树中其他元素的关系 ...

  10. NABCD

    1) N (Need 需求) 随着科学技术的进步和计算机行业的迅速发展,人们的工作效率得到大大提高.计算机信息处理系统的引进已彻底改变了许多系统的经营管理. 图书管理系统是学校管理机制中的重要组成部分 ...