zTree入门使用

简单入门使用,熟悉其功能,没有与异步调用后台数据,用的是本地设置的数据。

zTree的API:http://www.treejs.cn/v3/api.php

先看效果

目录结构

代码

  1 <!DOCTYPE html>
  2 <html lang="en">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title>Title</title>
  6     <link rel="stylesheet" href="../css/demo.css" type="text/css">
  7     <link rel="stylesheet" href="../css/zTreeStyle/zTreeStyle.css" type="text/css">
  8     <script src="../js/jquery-1.4.4.min.js"></script>
  9     <script src="../js/zTree/jquery.ztree.all.js"></script>
 10     <script src="../js/zTree/jquery.ztree.exhide.js"></script>
 11
 12     <script type="text/javascript">
 13         // 页面加载后初始化zTree数据且默认展开所有节点
 14         $(document).ready(function () {
 15             $.fn.zTree.init($("#treeDemo"), setting, zNodes).expandAll(true);//第一个参数 tree存在位置,第二个参数 设置,第三个参数 数据
 16             //.expandAll(true)表示展开全部节点,如果为false表示折叠全部节点
 17         });
 18
 19         //设置
 20         var setting = {
 21             check: {//复选框设置
 22                 enable: true,//显示复选框
 23                 chkStyle: "checkbox",//勾选框类型(checkbox 或 radio),默认checkbox,[setting.check.enable = true 时生效],
 24                 // Y 属性定义 checkbox 被勾选后的情况; N 属性定义 checkbox 取消勾选后的情况; "p" 表示操作会影响父级节点; "s" 表示操作会影响子级节点。
 25                 chkboxType: { "Y": "s", "N": "s" },//勾选 checkbox 对于父子节点的关联关系,默认值:{ "Y": "ps", "N": "ps" }。[setting.check.enable = true 且 setting.check.chkStyle = "checkbox" 时生效]
 26                 nocheckInherit: false//当父节点设置 nocheck = true 时,设置子节点是否自动继承 nocheck = true 。[setting.check.enable = true 时生效]
 27             },
 28             data: {//数据设置
 29                 simpleData: {//说明:其中的id不是html上的id,是节点上的id,html上看不到的
 30                     enable: true,//默认值:false,确定 zTree 初始化时的节点数据、异步加载时的节点数据、或 addNodes 方法中输入的 newNodes 数据是否采用简单数据模式 (Array),不需要用户再把数据库中取出的 List 强行转换为复杂的 JSON 嵌套格式
 31                     rootPId: -1,//根节点的父节点id值,默认值:null,用于修正根节点父节点数据,即 pIdKey 指定的属性值。[setting.data.simpleData.enable = true 时生效]
 32                     idKey: "id",//当前节点id名称,默认值:"id",节点数据中保存唯一标识的属性名称。[setting.data.simpleData.enable = true 时生效]
 33                     pIdKey: "parentId"//当前节点的父节点id名称,默认值:"pId",节点数据中保存其父节点唯一标识的属性名称。[setting.data.simpleData.enable = true 时生效]
 34                 }
 35             },
 36             callback : {//事件设置
 37                 onClick : zTreeOnClick,// 树的点击事件
 38                 onCheck : zTreeOnCheck,// 点击复选框事件
 39                 // onAsyncSuccess : ztreeOnAsyncSuccess,// 异步加载成功后执行的方法
 40             }
 41         };
 42
 43         //ztree用于初始化的静态数据
 44         var zNodes = [
 45             { id: 1, parentId: 0, name: "随意勾选 1", nocheck: true },//id[setting.data.idKey]当前节点唯一标识,parentId[setting.data.pIdKey]当前节点的父节点唯一标识
 46             { id: 11, parentId: 1, name: "随意勾选 1-1", nocheck: true },// name节点显示名称
 47             { id: 111, parentId: 11, name: "无 checkbox 1-1-1", nocheck: true },// nocheck: true表示不显示复选框
 48             { id: 112, parentId: 11, name: "随意勾选 1-1-2", nocheck: true },
 49             { id: 12, parentId: 1, name: "无 checkbox 1-2", nocheck: true },
 50             { id: 2, parentId: 0, name: "随意勾选 2", nocheck: true },
 51         ];
 52
 53         //过滤节点的机制 直接return node表示不做任何过滤
 54         function filter(node) {
 55             return node;
 56         }
 57
 58         ///动态设置zTree的所有节点有checkbox
 59         function DynamicUpdateNodeCheck() {
 60             var zTree = $.fn.zTree.getZTreeObj("treeDemo");
 61             //根据过滤机制获得zTree的所有节点
 62             var nodes = zTree.getNodesByFilter(filter);
 63             //遍历每一个节点然后动态更新nocheck属性值
 64             for (var i = 0; i < nodes.length; i++) {
 65                 var node = nodes[i];
 66                 node.nocheck = false; //表示显示checkbox
 67                 zTree.updateNode(node);
 68             }
 69         }
 70
 71         ///动态设置zTree的所有节点无checkbox
 72         function DynamicUpdateNoNodeCheck() {
 73             var zTree = $.fn.zTree.getZTreeObj("treeDemo");
 74             //根据过滤机制获得zTree的所有节点
 75             var nodes = zTree.getNodesByFilter(filter);
 76             //遍历每一个节点然后动态更新nocheck属性值
 77             for (var i = 0; i < nodes.length; i++) {
 78                 var node = nodes[i];
 79                 node.nocheck = true; //表示不显示checkbox
 80                 zTree.updateNode(node);
 81             }
 82         }
 83
 84         //动态设置隐藏zTree所有节点
 85         function hiddenNodes() {
 86             var zTree = $.fn.zTree.getZTreeObj("treeDemo");
 87             //根据过滤机制获得zTree的所有节点
 88             var nodes = zTree.getNodesByFilter(filter);
 89             //隐藏节点
 90             zTree.hideNodes(nodes);
 91         }
 92
 93         //动态设置显示zTree所有节点
 94         function showNodes() {
 95             var zTree = $.fn.zTree.getZTreeObj("treeDemo");
 96             //根据过滤机制获得zTree的所有节点
 97             var nodes = zTree.getNodesByFilter(filter);
 98             //显示节点
 99             zTree.showNodes(nodes);
100         }
101
102         //点击事件
103         function zTreeOnClick(event, treeId, treeNode) {
104             console.log("点击事件>>>>>开始");
105             var id = treeNode.id;
106             var parentId = treeNode.parentId;
107             var childrenList = treeNode.children;
108             console.log("id:" + id);
109             console.log("parentId:" + parentId);
110             console.log("childrenList:" + childrenList);
111             if(undefined == childrenList) {
112                 console.log("是否是父节点:" + false);
113             } else {
114                 console.log("是否是父节点:" + true);
115             }
116             console.log("点击事件<<<<<结束");
117         }
118
119         //点击复选框事件
120         function zTreeOnCheck(event, treeId, treeNode) {
121             console.log("点击复选框事件>>>>>开始");
122             var id = treeNode.id;
123             var parentId = treeNode.parentId;
124             var childrenList = treeNode.children;
125             console.log("id:" + id);
126             console.log("parentId:" + parentId);
127             console.log("childrenList:" + childrenList);
128             if(undefined == childrenList) {
129                 console.log("是否是父节点:" + false);
130             } else {
131                 console.log("是否是父节点:" + true);
132             }
133             console.log("点击复选框事件<<<<<结束");
134         }
135
136         // 获取树成功后进行的回调操作
137         /*function ztreeOnAsyncSuccess(event, treeId, treeNode) {
138             console.log("回调操作");
139         }*/
140
141     </script>
142 </head>
143 <body>
144 <h1>
145     Checkbox nocheck 演示</h1>
146 <div class="content_wrap">
147     <div class="zTreeDemoBackground left">
148         <ul id="treeDemo" class="ztree"></ul>
149     </div>
150     <div class="right">
151         <p>
152             默认情况下设置任何节点无checkbox选择框,需要配置每一个节点的nocheck属性为true即可。</p>
153         <p>
154             zTree加载完成后通过updateNode(node)方法动态更新节点的nocheck属性为false,则节点将会显示checkbox。</p>
155         <h3>
156             STEP DAY</h3>
157         <div>
158             <input type="button" value="动态设置节点有checkbox" onclick="DynamicUpdateNodeCheck()" />
159         </div>
160         <div>
161             <input type="button" value="动态设置节点无checkbox" onclick="DynamicUpdateNoNodeCheck()" />
162         </div>
163         <div>
164             <input type="button" value="隐藏全部节点" onclick="hiddenNodes()" />
165         </div>
166         <div>
167             <input type="button" value="显示全部节点" onclick="showNodes()" />
168         </div>
169     </div>
170 </div>
171
172 </body>
173 </html>

原文地址:https://www.cnblogs.com/xiaostudy/p/10803703.html

时间: 2024-11-13 14:35:51

zTree入门使用的相关文章

004 ztree入门 - bos

使用标准json数据构造ztree 1.使用标准json构造ztree,children属性用于描述子节点,可以无限嵌套下去 2.name属性用于描述节点名称 3.缺点是结构很混乱,不易修改,代码阅读.维护困难 4.示例代码 <!-- 展示ztree效果 :使用标准json数据构造ztree--> <ul id="ztree1" class="ztree"></ul> <script type="text/java

ztree入门应用(二)

时间不稳定,写东西都是断断续续的,今天来的早,继续写昨天没写完的ztree,昨天还差一个callback没写,其实这个才是最重要的.废话不多说,开始. callback callback: { onClick : showInfo, onRightClick: showMenu, beforeRemove : isRemove, beforeRename : isRename, onRemove : remove, onRename : rename, beforeCheck : zTreeBe

ztree入门应用总结

以前用到过ZTREE做树形展示,当时没有总结,今天简单总结一下,以后用的时候也好找,废话不多说,下面开始. 1.ztree简介 ztree是依靠jquery实现的一个树形插件,是一个开源的插件,兼容IE/FF/CHROM/OPERA这些常用的浏览器,支持JSON数据以及AJAX异步加载节点数据,提供多种事件回调函数,其实说了一大堆就是想说一句话,这是个比较好用的树形结构展示插件. 2.使用 2.0 项目环境 2.0.1 数据库表 2.1 引入的文件 2.1.1 JS文件 a. jquery-1.

zTree的使用

zTree可以实现树形结构的关系.一般会出现在部门 的上下级关系,角色权限的分配等模块中... zTree格式要求:即Json的复杂格式 [{id:"..",pId:"..",name:"..",checked:"true/false"}] id:标识当前的id: pId:父节点的id: name:节点名称(就是在页面上可以看到的值): checked:是否勾选,默认是false. 1 <html xmlns="

使用zTree插件构建树形菜单

zTree下载:https://github.com/zTree/zTree_v3 目录: 就我看来,zTree较为实用的有以下几点: zTree 是一个依靠 jQuery 实现的多功能 “树插件”.优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. 支持 JSON 数据 支持静态 和 Ajax 异步加载节点数据 支持任意更换皮肤 / 自定义图标 支持极其灵活的 checkbox 或 radio 选择功能 提供多种事件响应回调 灵活的编辑(增/删/改/查)功能,可随意拖拽节点,还可

Spring Boot 入门(六):集成 treetable 和 zTree 实现树形图

本篇文章是接着Spring Boot 入门(五):集成 AOP 进行日志管理写的,主要集成了树形图,在部门列表或者权限列表中,树形图经常被用上.主要是根据相应的 API 凭借 html 字符串 1.treetable 1 <link href="/plugins/treeTable/themes/default/treeTable.css" rel="stylesheet" type="text/css" /> 2 <scrip

转:zTree树控件入门之checkbox:如何动态设置节点的checkbox选择框启用与禁用状态(chkDisabled)

当一棵树的部分节点根据登入用户角色不同而决定是否启用节点前的checkbox选择框的时候,我们应该如何做呢?也或者如何在页面加载的时候动态根据当前登入用户角色动态切换节点前的checkbox的禁用状态? 针对上列一系列问题,今天这里将做一个统一的讲解: 关于节点前的checkbox选择框是否禁用,是通过属性chkDisabled来决定的,值为true则表示禁用:反之表示启用: 一.初始化设置节点禁用 示例代码如下所示: var zNodes =[ { id:1, pId:0, name:"随意勾

转:zTree高级入门:如何通过扩展节点的属性来达到是否显示节点的删除编辑等图标(按钮)

当我们在使用ztree树组件的节点编辑功能时,只要我们引入了ztree相关节点编辑的js脚本文件: <script type="text/javascript" src=”/js/jquery.ztree.exedit-3.5.js"></script> 接着配置setting内的edit节点: var setting = { edit: { enable: true, showRenameBtn: true, showRemoveBtn: true

Spring Boot 入门(七):集成 swagger2

本片文章是基于前一篇写的,<Spring Boot 入门(六):集成 treetable 和 zTree 实现树形图>,本篇主要介绍了spring boot集成swagger2.关于swagger的介绍,自行谷歌.我这里有在网上购买的相关视频资料,有需要可以呼叫我. 1.引入相关依赖 1 <dependency> 2 <groupId>io.springfox</groupId> 3 <artifactId>springfox-swagger2&