欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery+zTree

程序员文章站 2024-01-22 16:12:34
0 zTree简介 树形控件的使用是应用开发过程中必不可少的。zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。 0.0 zTree的特点 最新版的zTree将核心代码按照功能进行了分割,不需要的代码可以不用加载,如普通使 ......

0 zTree简介 

树形控件的使用是应用开发过程中必不可少的。zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。 

0.0 zTree的特点 

最新版的zTree将核心代码按照功能进行了分割,不需要的代码可以不用加载,如普通使用只需要加载核心的jquery.ztree.core-3.5.js,需要使用勾选功能加载jquery.ztree.excheck-3.5.min.js,需要使用编辑功能加载jquery.ztree.exedit-3.5.min.js
 •采用了延迟加载技术,上万节点轻松加载,即使在 IE6 下也能基本做到秒杀
 •兼容 IE、FireFox、Chrome、Opera、Safari 等浏览器
 •支持 JSON 数据
 •支持静态 和 Ajax 异步加载节点数据
 •支持任意更换皮肤 / 自定义图标(依靠css)
 •支持极其灵活的 checkbox 或 radio 选择功能
 •提供多种事件响应回调
 •灵活的编辑(增/删/改/查)功能,可随意拖拽节点,还可以多节点拖拽
 •在一个页面内可同时生成多个 Tree 实例
 •简单的参数配置实现,灵活多变的功能

0.1 zTree文件介绍 

从zTree官网下载的zTree包括以下组成部分

jQuery+zTree

•metroStyle文件夹:zTree的metro风格样式相关文件(图片及css样式表)。
•zTreeStyle文件夹:zTree的标准风格样式文件夹(图片及css样式表)
•js文件:zTree.all.js是完整的js库,可单纯加载此文件实现所有zTree功能,ztree.core、ztree.excheck、ztree.exedit、ztree.exhide是对ztree按照功能进行的分割,分别对应基本功能、复选功能、编辑功能、显隐功能。

jQuery+zTree
 1 <!DOCTYPE html>
 2 <HTML>
 3 <HEAD>
 4  <TITLE> ZTREE DEMO </TITLE>
 5  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 6  <link rel="stylesheet" href="zTreeStyle/zTreeStyle.css" type="text/css">
 7  <script type="text/javascript" src="jquery-1.4.2.js"></script>
 8  <script type="text/javascript" src="jquery.ztree.core-3.x.js"></script>
 9  <SCRIPT LANGUAGE="JavaScript">
10   var zTreeObj;
11   var setting = {};  // zTree 的参数配置,后面详解
12    var zNodes = [   // zTree 的数据属性,此处使用标准json格式
13    {
14    name: "test1", open: true, children: [
15    { name: "test1_1" }, { name: "test1_2" }]
16   },
17   {
18    name: "test2", open: true, children: [
19    { name: "test2_1" }, { name: "test2_2" }]
20   }
21   ];
22   $(document).ready(function () {
23    zTreeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes); //初始化zTree,三个参数一次分别是容器(zTree 的容器 className 别忘了设置为 "ztree")、参数配置、数据源
24   });
25  </SCRIPT>
26 </HEAD>
27 <BODY>
28  <div>
29   <ul id="treeDemo" class="ztree"></ul> 
30  </div>
31 </BODY>
32 </HTML>
html

运行结果如下

jQuery+zTree

1.1 zTree的配置

zTree的配置采用Json格式,按照配置的类型分为view(可视界面相关配置)、data(数据相关配置)、check(复选框相关配置)、callback(各类事件的回调函数配置)、async(zTree异步加载配置),一下是我们经常会使用到的一些配置及说明,其他详细配置可以参考zTree官方API文档的详细介绍。

jQuery+zTree
 1 var setting = {
 2    view: {
 3     selectedMulti: true, //设置是否能够同时选中多个节点
 4     showIcon: true,  //设置是否显示节点图标
 5     showLine: true,  //设置是否显示节点与节点之间的连线
 6     showTitle: true,  //设置是否显示节点的title提示信息
 7    },
 8    data: {
 9      simpleData: {
10      enable: false, //设置是否启用简单数据格式(zTree支持标准数据格式跟简单数据格式,上面例子中是标准数据格式)
11       idKey: "id",  //设置启用简单数据格式时id对应的属性名称
12       pidKey: "pId" //设置启用简单数据格式时parentId对应的属性名称,ztree根据id及pid层级关系构建树结构
13     }
14    },
15    check:{
16     enable: true   //设置是否显示checkbox复选框
17    },
18    callback: {
19     onClick: onClick,    //定义节点单击事件回调函数
20     onRightClick: OnRightClick, //定义节点右键单击事件回调函数
21     beforeRename: beforeRename, //定义节点重新编辑成功前回调函数,一般用于节点编辑时判断输入的节点名称是否合法
22     onDblClick: onDblClick,  //定义节点双击事件回调函数
23     onCheck: onCheck    //定义节点复选框选中或取消选中事件的回调函数
24    },
25    async: {
26     enable: true,      //设置启用异步加载
27     type: "get",      //异步加载类型:post和get
28     contentType: "application/json", //定义ajax提交参数的参数类型,一般为json格式
29     url: "/Design/Get",    //定义数据请求路径
30     autoParam: ["id=id", "name=name"] //定义提交时参数的名称,=号前面标识节点属性,后面标识提交时json数据中参数的名称
31    }
32   };
setting.js

需要注意的是,zTree的事件回调部分,基本上每一个事件都对应一个beforeXXX事件,比如onClick事件对应有一个beforeOnClick事件,主要用于控制相关事件是否允许执行,如果before事件返回false,则取消执行对应相关事件。

原文地址:https://www.cnblogs.com/sylvandu/p/5805592.html