jquery zTree 查找所有的叶子节点
jquery zTree 查找所有的叶子节点
// 保存所有叶子节点 10 为初始化大小,并非数组上限
var arrayObj = new Array([10]); /*
treeNode:
根节点
result:
用于保存叶子节点的数组
*/
// 获取所有叶子节点
function getAllLeafNodes(treeNode, result) {
if (treeNode.isParent) {
var childrenNodes = treeNode.children;
if (childrenNodes) {
for (var i = 0; i < childrenNodes.length; i++) {
if (!childrenNodes[i].isParent) {
arrayObj.push(childrenNodes[i]);
} else {
arrayObj = getAllLeafNodes(childrenNodes[i], arrayObj);
}
}
}
} else {
arrayObj.push(treeNode);
}
return arrayObj;
}
常用zTree 操作:
// 获取树节点
var treeObj = $.fn.zTree.getZTreeObj("divTreeContainer");
// 获取树所有的节点
var nodes = treeObj.getNodes();
// 通过 tid 获取节点
var node = treeObj.getNodeByTId(node.tId); // 创建一个节点
var newNode = { id: 1, name:‘wisdo’‘, filePath: 'http://www.cnblogs.com/wisdo'}; // 追加节点
treeObj.addNodes(parentNode, newNode)
(function () {
var treeIndexZTree = {
//树的配置
setting: {
data: {
key: {
//title: "t"
},
simpleData: {
enable: true
}
},
callback: {
}
},
//存放树的节点
zNodes: null,
//初始化
init: function (zNodes) {
if (!zNodes) {
zNodes = treeIndexZTree.getZNoeds();
}
treeIndexZTree.zNodes = zNodes; //获取树节点
treeIndexZTree.setting.callback.onClick = treeIndexZTree.onClick; //绑定鼠标左键单击事件
treeIndexZTree.setting.callback.onRightClick = treeIndexZTree.onRightClick; //绑定鼠标右键单击事件
$.fn.zTree.init($("#divTreeContainer"), treeIndexZTree.setting, treeIndexZTree.zNodes); //初始化树
},
//鼠标左键单击事件
onClick: function (event, treeId, treeNode, clickFlag) {
if (tagAreaChange) {
tagAreaChange(treeNode);
}
},
//鼠标右键单击事件
onRightClick: function (event, treeId, treeNode) {
//$("#divTreeRightMenu").css({ "display": "block", left: event.clientX, top: event.clientY });
},
//获取树节点
getZNoeds: function () {
return [];
}
};
//dom创建完成之后执行
$(function () {
//设置标签点树样式
$("#divTreeContainer").css({ "overflow-y": "auto" });
$.ajax({
url: "/Wisdo/Home/GetTree",
data: { level: true },
type: "get",
async: true,
dataType: 'json',
success: function (obj) {
//debugger;
treeIndexZTree.init(obj.data);//ztree初始化
refreshTree(); // 追加子节点,刷新树
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log(JSON.stringify(XMLHttpRequest));
console.log(XMLHttpRequest.status);
}
});
});
})();
zTree 官网 API开发文档:http://www.ztree.me/v3/api.php
jquery zTree 查找所有的叶子节点的更多相关文章
- Jquery EasyUI Combotree只能选择叶子节点且叶子节点有多选框
Jquery EasyUI Combotree只能选择叶子节点且叶子节点有多选框 Jquery EasyUI Combotree单选框,Jquery EasyUI Combotree只能选择叶子节点 ...
- 742. Closest Leaf in a Binary Tree查找最近的叶子节点
[抄题]: Given a binary tree where every node has a unique value, and a target key k, find the value of ...
- jquery 父,子,兄弟节点获取
jquery 父,子,兄弟节点获取 jQuery.parent(expr) //找父元素 jQuery.parents(expr) //找到所有祖先元素,不限于父 ...
- jquery zTree异步搜索的例子--搜叶子节点
参考博客:https://www.cnblogs.com/henuyuxiang/p/6677397.html 前台代码 <%@ page language="java" c ...
- jquery Ztree v3.5 实例2 自定义显示在节点前的图片
显示效果如下: 代码如下: <html> <head><title></title></head> <script type=&quo ...
- jquery zTree异步搜索的例子--搜全部节点
参考博客: https://segmentfault.com/a/1190000004657854 https://blog.csdn.net/houpengfei111/article/detail ...
- bootstrap jQuery Ztree异步载入数据,check选择&可加入、改动、删除节点
效果图: 一.下载zTree插件 地址:http://www.ztree.me 二.html代码 <link href="../Scripts/zTree/css/zTreeStyle ...
- Z-tree 统计每一父节点的叶子节点数(看这一篇就够了)
最近刚走出校园的我找到了第一份工作,在入职考核中就遇见了一道Z-tree的试题 这道题目本身是不难的,但是我第一次接触这个插件而且还把解决问题的方向搞错了,弄的我好几天都很难受. 弄得我都开始怀疑人生 ...
- B+树叶子节点数据如何存储,以及如何查找某一条数据
MySQL索引背后的数据结构及算法原理 https://www.kancloud.cn/kancloud/theory-of-mysql-index 非常好 根据一条sql 如何查看索引结构等信息 ...
随机推荐
- Tomcat无法启动:org.apache.catalina.LifecycleException: Failed to start component 问题解决
问题如下:需要使用到数据库mysql,于是将mysql-connector-java-5.1.30-bin.jar的数据库驱动复制到WEE-INF/lib目录下.点击运行,但是服务器无法启动. 控制台 ...
- freemarker解析模板报错问题
在确定模板文件代码无误的情况下,导致报错的原因大概有以下原因: 模板文件编码改变了(比如eclipse中的项目部署到tomcat下,而忘记设置tomcat编码就会导致读取模板文件编码不正确,导致程序解 ...
- 最大熵的Java实现
这是一个最大熵的简明Java实现,提供训练与预测接口.训练采用GIS训练算法,附带示例训练集.本文旨在介绍最大熵的原理.分类和实现,不涉及公式推导或其他训练算法,请放心食用. 最大熵理论 简介 最大熵 ...
- SOA_Oracle SOA Suite and BPM Suite 11g官方虚拟机安装指南(案例)
参考:Oracle官方 - http://www.oracle.com/technetwork/middleware/soasuite/learnmore/vmsoa-172279.html?ssSo ...
- NeHe OpenGL教程 第二十二课:凹凸映射
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- nginx重写规则报nginx: [emerg] directive "rewrite" is not terminated by ";"
对于下面的重写规则 rewrite ^/gongying/([\d]{8})_([\d]+).html$ /index.php?app=support&act=view&pts=$1& ...
- 通过Application传递数据代码
使用Application传递数据步骤如下:创建新class,取名MyApp,继承android.app.Application父类,并在MyApp中定义需要保存的属性 在整个Android程 ...
- 转载__Activity的启动模式
http://www.cnblogs.com/plokmju/p/android_ActivityLauncherMode.html 当然,在Android中,除了在AndroidManifest.x ...
- ylbtech-Unitity-CS:AnonymousDelegates
ylbtech-Unitity-CS:AnonymousDelegates 1.A,效果图返回顶部 1.B,源代码返回顶部 1.B.1, using System; using System.Co ...
- UIView阴影和圆角的关系
UIView阴影和圆角的关系 UIView 的 clipsToBounds属性和CALayer的setMasksToBounds属性表达的意思是一致的. 取值:BOOL(YES/NO) 作用:决定 ...