1. 下载jquery的JS文件/ztree的CSS文件和JS文件

2. 目录结构

3. asyncTree.html


<head> <!-- 引入文件 --> <link rel="stylesheet" href="./resource/css/zTreeStyle.css" /> <script type="text/javascript" src="./resource/js/jquery-1.10.2.js"></script>
<script type="text/javascript" src="./resource/js/jquery.ztree.core.js"></script>
</head>
<body>
<body>
// treeDOM元素
<div class="content_wrap">
<div class="zTreeDemoBackground left">
<ul id="treeDemo" class="ztree"></ul>
</div>
</div>
// tree JS
<script type="text/javascript">
// 配置
var setting = {
view: {
selectedMulti: false
},
async: { // 属性配置
enable: true,
url:"./resource/json/getNodes.json",
autoParam:["id", "name=name"],
// otherParam:{"otherParam":"zTreeAsyncTest"},
type: 'get',
dataFilter: filter
},
callback: { // 回调函数配置
beforeClick: beforeClick,
beforeAsync: beforeAsync
}
};
// 数据处理回调函数
function filter(treeId, parentNode, childNodes) {
if (!childNodes) return null;
for (var i=0, l=childNodes.length; i<l; i++) {
childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
}
return childNodes;
}
// 节点点击前回调函数 (treeId -- treeId-对应zTree容器元素的id;;; treeNode -- 点击节点JSON对象)
function beforeClick(treeId, treeNode) { // 选中节点
if (!treeNode.isParent) {
return false;
} else {
return true;
}
}
// 异步加载前回调函数(treeId-对应zTree容器元素的id;;treeNode-进行异步加载的父节点 JSON 数据对象)
function beforeAsync(treeId, treeNode) {
return true;
} $(document).ready(function() {
// 初始化树
$.fn.zTree.init($("#treeDemo"), setting);
});
</script>
</body>

预览

=》

async 属性解析:

  • enable: true — 设置 zTree 是否开启异步加载模式
  • url:"./resource/json/getNodes.json" — Ajax 获取数据的 URL 地址
  • autoParam:["id", "name=name"] — 异步加载时(初始化时不需要)需要自动提交父节点属性的参数
  • otherParam:{"otherParam":"zTreeAsyncTest"} — Ajax 请求提交的静态参数(初始化请求、异步加载请求时都会有此参数)
  • type: 'get' — 获取数据的方法
  • dataFilter: filter — 用于对 Ajax 返回数据进行预处理的函数

callback属性解析:

  • beforeClick: 方法名 - 用于捕获单击节点之前的事件回调函数,并且根据返回值确定是否允许单击操作

  • beforeAsync: 方法名 - 用于捕获异步加载之前的事件回调函数,zTree 根据返回值确定是否允许进行异步加载

  • onAsyncSuccess: 方法名 — 用于捕获异步加载正常结束的事件回调函数

  • onClick: 方法名 — 用于捕获节点被点击的事件回调函数

4: 额外功能-----默认选中第一项 -- 此处可省略

修改asyncTree.html

// callback中添加属性 onAsyncSuccess: onAsyncSuccess, // 用于捕获异步加载正常结束的事件回调函数 onClick: function (event, treeId, treeNode) { // 用于捕获节点被点击的事件回调函数 beforeClick(treeId, treeNode) }
// 添加加载成功后的回调函数
function onAsyncSuccess(event, treeId, treeNode, msg) {
// 默认选中个第一项操作:第三步
var msgJson = JSON.parse(msg)
var firstMsgItem = null;
for(var i=0; i<msgJson.length; i++){
var item = msgJson[i];
if(!item.isParent){
firstMsgItem = item;
break;
}
}
if(firstMsgItem){
var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
var node = treeObj.getNodeByParam('id', firstMsgItem.id);
treeObj.selectNode(node);
treeObj.setting.callback.onClick(null, treeObj.setting.treeId, node);//调用事件
}
}

预览

=》

Jquery Ztree异步加载树的更多相关文章

  1. jquery zTree异步加载的例子

    下面是使用zTree异步加载的一个例子: 1)初始化树的时候是ajax请求,返回nodes列表来初始化树的:如果一开始就异步的话,$.fn.zTree.init($("#zTree" ...

  2. JQuery ztree 异步加载实践

    本来要做一个文件目录浏览界面,需要遍历所有的文件和目录,很显然一次性读取时很费时费力的一件事情. 因此就需要做异步加载.... 不过网上的几篇帖子还挺坑的!原始参考:JQuery异步加载实例,相对来说 ...

  3. ztree异步加载树节点

    参考文档:https://www.cnblogs.com/tenWood/p/8620708.html ztree api地址:http://www.treejs.cn/v3/api.php 说明:j ...

  4. ztree异步加载

    Ztree异步加载的意思就是: 当点击展开树节点时,才去请求后台action返回点击节点的子节点数据并加载. 直接贴代码(SpringMvc+Mybatis): 前台页面ztreeList.jsp: ...

  5. zTree 异步加载

    zTree异步加载数据的简单实现,更为详细的Api请参考 zTree官网   http://www.treejs.cn/ <link href="~/Content/ztree/css ...

  6. Jquery树控件ZTree异步加载

    异步加载的意思就是: 当点击展开树节点时,才去请求后台action返回点击节点的子节点数据并加载. 这里面主要设计ztree的setting变量的async属性设置: var setting = { ...

  7. ztree插件的使用及列表项拖拽的实现(jQuery)+异步加载节点数据

    为了实现如图所示的树状结构图,并使列表项可拖动到盒子里,研究了ztree这个插件的使用,并仔细研究了列表项的拖动事件.完成了预期需求,对jQuery的运用得到了提高.这个插件的功能非常强大,除了基本的 ...

  8. zTree异步加载并初始化树时全部展开(贴主要代码)

    <%@page pageEncoding="UTF-8"%> <%@include file="/commons/include/html_doctyp ...

  9. ztree异步加载---------补发周日内容

    上周六老师要求和大三的进行JAVA知识交流,总体来说就是给大三学长做的东西打分,然后大三学长再教我们如果构建ztree.毕竟第一次接触ztree,所以有很多不了解,但通过周六日努力,还是做出来了.现在 ...

随机推荐

  1. C#开发BIMFACE系列8 服务端API之获取文件上传状态信息

    系列目录     [已更新最新开发文章,点击查看详细] 在BIMFACE控制台上传文件,上传过程及结束后它会自动告诉你文件的上传状态,目前有三种状态:uploading,success,failure ...

  2. CodeForces 86 D Powerful array 莫队

    Powerful array 题意:求区间[l, r] 内的数的出现次数的平方 * 该数字. 题解:莫队离线操作, 然后加减位置的时候直接修改答案就好了. 这个题目中发现了一个很神奇的事情,本来数组开 ...

  3. CF980C Posterized 贪心 二十五

    Posterized time limit per test 1 second memory limit per test 256 megabytes input standard input out ...

  4. Python学习之旅:使用virtualenv创建Python环境及PyQT5环境配置

    一.写在前面 从学 Python 的第一天起,我就知道了使用 pip 命令来安装包,从学习爬虫到学习 Web 开发,安装的库越来越多,从 requests 到 lxml,从 Django 到 Flas ...

  5. 搭建自己的技术博客系列(一)使用 hexo 搭建一个精美的静态博客

    1.安装 Git 和 nodejs https://hexo.io/zh-cn/docs/

  6. Mybatis打印SQL

    配置mybatis日志级别,打印SQL 1.方案一:配置日志级别 logging.level.org.springboot.demo.mapper=debug 其中org.springboot.dem ...

  7. MySQL的安装与配置——详细教程

    免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的 标准化语言,其特点为体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,在 Web 应 ...

  8. myeclipse一直停留在Loading workbench界面上以及停滞启动页不动的处理办法

    找到myeclipse的工作目录,比如我的叫springworkspace(F:\springworkspace\.metadata\.plugins),在.metadata\.plugins中删掉以 ...

  9. WTM送书活动:向更遥远的星辰大海起航~

    是的,没错~ 这一篇不是大老刘写的.哈哈~ 啥?  你想知道为啥? 大老刘为了你们不加班,熬夜改BUG,姑娘不乐意了... 然后... 后面请自行脑补~ 哎~生活还要继续鸭.... 那么,接下来由我陪 ...

  10. Winform中自定义xml配置文件后对节点进行读取与写入

    场景 Winform中自定义xml配置文件,并配置获取文件路径: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100522648 ...