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 查找所有的叶子节点的更多相关文章

  1. Jquery EasyUI Combotree只能选择叶子节点且叶子节点有多选框

    Jquery EasyUI Combotree只能选择叶子节点且叶子节点有多选框 Jquery EasyUI Combotree单选框,Jquery EasyUI Combotree只能选择叶子节点 ...

  2. 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 ...

  3. jquery 父,子,兄弟节点获取

    jquery 父,子,兄弟节点获取 jQuery.parent(expr)           //找父元素 jQuery.parents(expr)          //找到所有祖先元素,不限于父 ...

  4. jquery zTree异步搜索的例子--搜叶子节点

    参考博客:https://www.cnblogs.com/henuyuxiang/p/6677397.html 前台代码 <%@ page language="java" c ...

  5. jquery Ztree v3.5 实例2 自定义显示在节点前的图片

    显示效果如下: 代码如下: <html> <head><title></title></head> <script type=&quo ...

  6. jquery zTree异步搜索的例子--搜全部节点

    参考博客: https://segmentfault.com/a/1190000004657854 https://blog.csdn.net/houpengfei111/article/detail ...

  7. bootstrap jQuery Ztree异步载入数据,check选择&amp;可加入、改动、删除节点

    效果图: 一.下载zTree插件 地址:http://www.ztree.me 二.html代码 <link href="../Scripts/zTree/css/zTreeStyle ...

  8. Z-tree 统计每一父节点的叶子节点数(看这一篇就够了)

    最近刚走出校园的我找到了第一份工作,在入职考核中就遇见了一道Z-tree的试题 这道题目本身是不难的,但是我第一次接触这个插件而且还把解决问题的方向搞错了,弄的我好几天都很难受. 弄得我都开始怀疑人生 ...

  9. B+树叶子节点数据如何存储,以及如何查找某一条数据

    MySQL索引背后的数据结构及算法原理 https://www.kancloud.cn/kancloud/theory-of-mysql-index  非常好 根据一条sql  如何查看索引结构等信息 ...

随机推荐

  1. Avant Browser

    Avant Browser Avant 浏览器友好的用户界面为你的网络冲浪带来全新的效率和透明性.软件版本的不断升级使产品的可靠性稳步提高. 没有广告.没有恶意软件! Avant 浏览器是免费的.10 ...

  2. java ScriptEngine 使用 (支持JavaScript脚本,eval()函数等)

    Java SE 6最引人注目的新功能之一就是内嵌了脚本支持.在默认情况下,Java SE 6只支持JavaScript,但这并不以为着Java SE 6只能支持JavaScript.在Java SE ...

  3. C#中的 int?是什么意思

    http://www.cnblogs.com/firstcsharp/archive/2011/12/11/2283797.html int?:表示可空类型,就是一种特殊的值类型,它的值可以为null ...

  4. PLSQL_性能优化系列13_Oracle Index Rebuild索引重建

    2014-10-04 Created By BaoXinjian

  5. ubuntu用终端卸载软件

    我们需要知道我们要卸载的软件的名称,sudo apt-get autoremove --purge 之后输入软件名称,可以先输入前缀之后按tab,会自动补全. 现在不要急着回车,我们来讲解一下这个命令 ...

  6. mysql给日期增减

    有个需求就是判断过期的供求信息,如果用户刷新了则判断过期日期是否小于现在,如果是则自动推迟7天. IF(expire<NOW(),DATE_ADD(NOW(), INTERVAL 7 DAY), ...

  7. 转--C++学习笔记(原创)

    http://www.cnblogs.com/maowang1991/p/3290321.html 以下内容为自己一年多的C++学习心得,纯原创,转载请注明源地址. 一年多的C++学习过程中,自己阅读 ...

  8. unity c#

    gameObject //获取当前脚本挂载到的游戏对象 在Unity中就算使用了C#进行编写脚本,要输出时不能使用Console类,应当使用print();或者Debug.log(); transfo ...

  9. CSS控制鼠标形状

    巧合要用到鼠标样式效果,就顺便整理了下十五种CSS鼠标样式.CSS鼠标样式语法如下:任意标签中插入 style="cursor:*"例 子:<span style=" ...

  10. html5 基本内容 摘自W3C

    HTML5 教程(摘录自 W3C School) HTML 5 简介(HTML5 是下一代的 HTML) 什么是 HTML5? HTML5 将成为 HTML.XHTML 以及 HTML DOM 的新标 ...