zTree是利用 jQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件。整个zTree的页面显示核心

代码是。

  1. <span style="font-family:Verdana;font-size:18px;"><span style="font-family:Verdana;font-size:18px;">$(document).ready(function () {
  2. zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);}
  3. );
  4. </span></span>
<span style="font-family:Verdana;font-size:18px;"><span style="font-family:Verdana;font-size:18px;">$(document).ready(function () {

zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);}

);

</span></span>

解释:#treeDemo是html用于显示的zTree容器。

Setting   是JavaScript脚本中用于定义树的显示结构样式。

zNodes   用于填充Setting中定义的树的数据源。

个人理解:zTree的实现就是用setting把树的模型结构定义好,然后用zNodes当数据源,把数据浇灌到这个树

结构中,最后用这个被填满的树印在html中的zTree容器中,用于显示出来。

zTree的实现思路是这样的:

1. 在HTML页面定义一个zTree容器,也就是我们所说的<div>。

  1. <span style="font-family:Verdana;font-size:18px;"><span style="font-family:Verdana;font-size:18px;"><body>
  2. <form id="form1" runat="server">
  3. <div>
  4. <ul id="treeDemo" class="ztree"></ul>
  5. </div>
  6. </form>
  7. </body>
  8. </span></span>
<span style="font-family:Verdana;font-size:18px;"><span style="font-family:Verdana;font-size:18px;"><body>
<form id="form1" runat="server">
<div>
<ul id="treeDemo" class="ztree"></ul>
</div>
</form>
</body>
</span></span>

2.在javascript中进行setting的配置。

简单来说就是我们想要的树的样式、事件、访问路径、有无勾选、有无连线等属性。

3. 给zNodes赋值。

zNodes是树的全部节点数据集合,采用json对象组成的数据结构

备注:当然这一切都要建立在引用了相应的js 和CSS。

zTree v3.5.21 下载地址:http://www.ztree.me/v3/demo.PHP#_101

【Demo】

  1. <span style="font-family:Verdana;font-size:18px;"><span style="font-family:Verdana;font-size:18px;"><%@ Page Language="C#" AutoEventWireup="true" CodeBehind="tree.aspx.cs" Inherits="树结构.tree" %>
  2. <!DOCTYPE html>
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head runat="server">
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  6. <title>ZtreeDemo</title>
  7. <link href="Script/zTree/css/demo.css" rel="stylesheet" />
  8. <link href="Script/zTree/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" />
  9. <script src="Script/zTree/js/jquery-1.4.4.min.js"></script>
  10. <script src="Script/zTree/jquery.ztree.core-3.5.js"></script>
  11. <script language="JavaScript">
  12. //进行setting设置;
  13. var setting = {
  14. treeNodeKey: "id",               //在isSimpleData格式下,当前节点id属性
  15. treeNodeParentKey: "pId",        //在isSimpleData格式下,当前节点的父节点id属性
  16. showLine: true,                  //是否显示节点间的连线
  17. checkable: true                //每个节点上是否显示 CheckBox
  18. };
  19. //进行zNodes的设置,对它进行赋值,也可以从后台获取,为方便在这里采用直接赋值;
  20. var zNodes = [
  21. {
  22. name: "父节点1", open: true, children: [
  23. { name: "子节点1" }, { name: "子节点2" }]
  24. },
  25. {
  26. name: "父节点2", open: true, children: [
  27. { name: "子节点1" }, { name: "子节点2" }]
  28. }
  29. ];
  30. //页面加载后,将zNodes数据放到setting设置的树结构中,显示在html中id=treeDemo的容器中。
  31. $(document).ready(function () {
  32. zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
  33. });
  34. </script>
  35. </head>
  36. <body>
  37. <form id="form1" runat="server">
  38. <div>
  39. <ul id="treeDemo" class="ztree"></ul>
  40. </div>
  41. </form>
  42. </body>
  43. </html>
  44. </span></span>
<span style="font-family:Verdana;font-size:18px;"><span style="font-family:Verdana;font-size:18px;"><%@ Page Language="C#" AutoEventWireup="true" CodeBehind="tree.aspx.cs" Inherits="树结构.tree" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

<title>ZtreeDemo</title>
&lt;link href="Script/zTree/css/demo.css" rel="stylesheet" /&gt;
&lt;link href="Script/zTree/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" /&gt;
&lt;script src="Script/zTree/js/jquery-1.4.4.min.js"&gt;&lt;/script&gt;
&lt;script src="Script/zTree/jquery.ztree.core-3.5.js"&gt;&lt;/script&gt;
&lt;script language="JavaScript"&gt; //进行setting设置;
var setting = {
treeNodeKey: "id", //在isSimpleData格式下,当前节点id属性
treeNodeParentKey: "pId", //在isSimpleData格式下,当前节点的父节点id属性
showLine: true, //是否显示节点间的连线
checkable: true //每个节点上是否显示 CheckBox
};
//进行zNodes的设置,对它进行赋值,也可以从后台获取,为方便在这里采用直接赋值;
var zNodes = [
{
name: "父节点1", open: true, children: [
{ name: "子节点1" }, { name: "子节点2" }]
},
{
name: "父节点2", open: true, children: [
{ name: "子节点1" }, { name: "子节点2" }]
}
];
//页面加载后,将zNodes数据放到setting设置的树结构中,显示在html中id=treeDemo的容器中。
$(document).ready(function () {
zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
});

</script>

</head>

<body>

<form id="form1" runat="server">

<div>

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

</div>

</form>

</body>

</html>

</span></span>

效果:

zTree理解和简单Demo(转)的更多相关文章

  1. Django实战(一)之简单Demo

    菜鸟教程上Django安装可供参考: 参考链接: http://www.runoob.com/django/django-install.html 菜鸟教程上如果不行的话,下面博客网址可以供参考 Li ...

  2. 设计模式之单例模式的简单demo

    /* * 设计模式之单例模式的简单demo */ class Single { /* * 创建一个本类对象. * 和get/set方法思想一样,类不能直接调用对象 * 所以用private限制权限 * ...

  3. Spring的简单demo

    ---------------------------------------- 开发一个Spring的简单Demo,具体的步骤如下: 1.构造一个maven项目 2.在maven项目的pom.xml ...

  4. 使用Spring缓存的简单Demo

    使用Spring缓存的简单Demo 1. 首先创建Maven工程,在Pom中配置 <dependency> <groupId>org.springframework</g ...

  5. Managed DirectX中的DirectShow应用(简单Demo及源码)

    阅读目录 介绍 准备工作 环境搭建 简单Demo 显示效果 其他 Demo下载 介绍 DirectX是Microsoft开发的基于Windows平台的一组API,它是为高速的实时动画渲染.交互式音乐和 ...

  6. angular实现了一个简单demo,angular-weibo-favorites

    前面必须说一段 帮客户做了一个过渡期的项目,唯一的要求就是速度,我只是会点儿基础的php,于是就用tp帮客户做了这个项目.最近和客户架构沟通,后期想把项目重新做一下,就用现在最流行的技术,暂时想的使用 ...

  7. Solr配置与简单Demo[转]

    Solr配置与简单Demo 简介: solr是基于Lucene Java搜索库的企业级全文搜索引擎,目前是apache的一个项目.它的官方网址在http://lucene.apache.org/sol ...

  8. 二维码简单Demo

    二维码简单Demo 一.视图 @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name=&qu ...

  9. android JNI 简单demo(2)它JNI demo 写

    android JNI 简单demo(2)它JNI demo 写 一.搭建Cygwin 环境:http://blog.csdn.net/androidolblog/article/details/25 ...

随机推荐

  1. 面向对象15.3String类-常见功能-判断

    /*3.判断 * 3.1两个字符串内容是否相同? * boolean equals(Object obj)(参数是Object,不是String,因为equals是覆盖Object里面的equals方 ...

  2. C# Datatable.Select()用法简介

    dt为一个DataTable,以dt为例说明dt.select()方法的功能: 1.dt.Select() 获取所有行数 例:Datarow[] drs=dt.Select(); 此时drs为dt数据 ...

  3. FineReport单元格扩展与父子格设置

    1.描述 在讲述报表设计之前,首先介绍一下FineReport报表制作的几个基本概念,本章节介绍FineReport报表赖以生存的单元格扩展. 扩展,顾名思义,就是由一变多,那么单元格扩展就是指在we ...

  4. Jmeter连接DB2/ORACLE/MYSQL数据库

    连接DB2 1.将db2数据库驱动db2java.jar.db2jcc.jar放入jmeter的lib/下,同时也要放入本地jdk目录下例如:C:\Program Files\Java\jdk1.7. ...

  5. js冒泡排序,数组去重

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

  6. Protobuf动态解析在Java中的应用 包含例子程序

    最近在做ProtoBuf相关的项目,其中用到了动态解析,网上看了下相关资料和博文都比较少,自己来写一个记录一下学习过程.   Protocol Buffers是结构化数据格式标准,提供序列化和反序列方 ...

  7. 关于PHP魔术方法__call的一点小发现

    好久没有上博客园写文章了,今晚终于有点空了,就来写一下昨天的一点小发现. 我自己所知,C++,Java的面向对象都有多态的特点,而PHP没有,但PHP可以通过继承链方法的重写来实现多态的属性.而魔术方 ...

  8. Let's Encrypt与DNS轮循

    本文由网络安全研究员.securityheaders.io和report-uri.io创始人Scott Helme发布在其个人博客中.描述了如何使用Let's Encrypt的同时兼容DNS轮循. 早 ...

  9. (转)log4j(五)——如何控制不同目的地的日志输出?

    一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 package test.log4j.test5; /** * @author l ...

  10. (转)Sublime Text2 快捷键汇总

    场景:最近在编写项目中越发的感觉到一个得心应手的编辑器是多么的重要,而sublime,无疑是让我用着最舒服,最有感觉的编辑器了! 1 快捷键总结 一个好的编辑器,能大大提高编程的效率.如果能熟知软件的 ...