工作一年了遇到过三种数型结构JS,dtree 、mifTree、zTree.用起来感觉还是zTree最好,之前也写过一个ztree的学习小结吧,看的人也很多,这里推荐下!!十分感谢ztree作者给我们带来了这么好的一个插件。
api网址:http://www.ztree.me/v3/api.php。
iteye博客地址:http://ztreeapi.iteye.com/。
这次要总结的是ztree的异步加载,异步加载多用于数据量相对较大的情况,如果全部查询出来组织成树的话可能要创建很多dom,出现假死,加载失败等现象。异步加载听上去感觉挺吓唬人的,其实看看api和例子的话很好弄的,以前自己在做户籍地的关联时做了一个,刚好近期又要用到,感觉吧虽然不难可还是总结下更方便。不说废话了。
首先引插件什么的都是必要的,不知道的话找下我的第一篇文章。对于ztree我个人倾向于使用简单数据类型,也就是数组的方式进行初始化,感觉json数据看上去很乱,逻辑也不是很好些,而数组的话只要我们给了对的数据就OK了,所以这篇文章也是基于简单数据类型的。至于json的话我还真没做过,我想也差不多吧。
异步加载的话就是对setting的配置中加上这么一段
var setting = {
async:{
autoParam:["id=tid"],
contentType:"application/x-www-form-urlencoded",
enable:true,
type:"post",
url:"<%=path%>/deployment/devAndSysAction!synAddDevice.action"
}
,data:{
simpleData :{
enable:true
}
}
};
async就是对异步的配置,autoParam是自动提交的参数,这里要说下后面的tid才是我们在后台接受的参数名 ,enable就是控制异步加载是否生效,其他的都没什么说的了。
然后后台我们接值组织数据,我这里用的是伪码。
String id = request.getParameter("tid");
treeStr = "";
List<MyObject> lstMyObj = myService.findMyData(parentId);
if(lstMyObj!=null){
for(int i=0,len=lstMyObj.size();i<len;i++){
treeStr += "{id:'myId',pId:'parentId',name:'myname' ,isParent:true},";
}
}
treeStr = "["+treeStr.substring(0,treeStr.length()-1)+"]";
这里ajax返回treeStr
这样的话就OK了,这里有一个地方得十分注意就是isParent这个属性,在异步加载中一定要知道这个节点下面是否有子节点,如果有就设置成true,如果没有就设置成false,如果不设置的话就默认是false,那么即使你本次异步加载出的节点有子节点的话,它也不会在节点前加上个小+号,那你就无法进行异步加载了,而如果都设置成true的话,你点击没有子节点的节点前的+就会出现这种情况 ,有显示上的问题。所以这个isParent的正确设置很重要。
- 大小: 1.4 KB
分享到:
相关推荐
首先,我们需要理解ZTree异步加载的基本原理。ZTree通过Ajax请求向服务器获取数据,服务器端(这里为Java)处理请求并返回JSON格式的节点数据。ZTree接收到这些数据后动态构建或更新树形结构。这个过程涉及到的主要...
这个"zTree异步加载简单示例VS2008项目完整源码"是针对开发人员的一个实用资源,提供了如何在Visual Studio 2008环境下实现zTree异步加载功能的具体代码实例。 异步加载(Async Loading)是zTree的核心特性之一,它...
【描述】"ztree异步加载demo" 提示我们这个压缩包包含的是一个ZTree的异步加载示例。"ztree异步加载demo"可能重复是为了强调这一点。异步加载意味着ZTree在用户需要查看子节点时才向服务器请求数据,而不是一次性...
以下是一个简单的ZTree异步加载示例: ```javascript $(function() { var setting = { async: { enable: true, url: "/getNodes", type: "post", autoParam: ["id"], otherParam: {"type": "async"} }, ...
### jQuery ZTree异步加载详解 #### 一、概述 jQuery ZTree插件是一款功能强大的树形控件,被广泛应用于Web开发中,用于展示层级结构数据。在大数据量的场景下,同步加载所有节点数据可能会导致页面加载缓慢,用户...
【zTree异步加载Demo】是一个基于SpringMVC框架和MySQL数据库实现的示例,它展示了如何使用zTree这一流行的JavaScript树形插件进行异步数据加载。zTree是一款功能强大的jQuery插件,广泛用于构建多级目录结构,如...
以上就是ZTree异步加载SSH JSON的基本实现步骤。在实际应用中,可能还需要考虑权限控制、懒加载、异步加载失败的处理等问题,以满足更复杂的需求。通过这种方式,我们可以构建出高效、动态的树形界面,提升Web应用的...
**ZTree 异步加载树结构详解** ZTree 是一款基于 jQuery 的强大的树形插件,广泛应用于构建具有层级关系的列表。在处理大量数据时,为了提高用户体验,避免一次性加载所有节点导致页面卡顿,我们可以采用异步加载...
在解决jQuery zTree异步加载添加子节点时出现的重复问题之前,我们首先需要理解zTree树插件的基本特性和其工作原理。zTree是一个基于jQuery的树形控件,它支持多功能的树形结构展示,并且可以轻松实现节点的增删改查...
知识点四:zTree异步加载的关键配置项 1. enable属性:设置为true以启用异步加载功能。 2. url属性:指定服务器端servlet的路径,用于获取异步加载的数据。 3. autoParam属性:自动传递给服务器的参数名称列表,这里...
在提供的代码示例中,`async`配置对象定义了异步加载的相关参数,如`url`用于指定数据请求的API地址,`autoParam`则指定了传递给服务器的参数。`zTreeBeforeExpand`函数在节点展开前被调用,而`zTreeOnNodeCreated`...
本示例"zTree3异步加载列子"专注于在`web3.0`环境下,利用Servlet注解实现zTree3.5的异步加载功能,同时涵盖了冻结根节点和禁用右键事件等高级特性,以提供更高效和定制化的交互体验。 首先,我们来理解`zTree3`的...
- `async`: 配置异步加载节点数据,如`enable`表示是否启用异步加载。 2. **事件监听** ZTree 提供了丰富的事件监听,如`onNodeClick`(点击节点时触发)、`onCheck`(勾选节点时触发)等,可以根据需求进行绑定...
8. zTree节点的示例:通过配置的zNodes数组,可以构建出一个初始的树形结构,这个结构在页面加载时就显示,当用户点击某个父节点展开时,才会触发异步加载请求,从服务器获取子节点数据。 通过以上知识点,开发者...
1. **数据驱动**:zTree的数据模型基于JSON格式,可以通过JavaScript数组或Ajax异步加载。每个节点都可以包含自定义的数据属性,以满足不同场景的需求。 2. **多态性**:支持多种视图模式,如单选、多选、半勾选等...
- `treeObj.reAsyncChildNodes(parentNode, reloadType, isSilent)`:重新异步加载子节点数据。 **五、zTree应用场景** 1. 文件管理系统:展示目录层级,支持创建、移动、删除文件夹和文件。 2. 组织结构图:展示...
总结来说,zTree异步加载的核心在于设置异步加载的开关、指定请求URL以及数据处理方式。在前端,zTree会监听用户的交互事件,当用户展开节点时,会向指定URL发送请求,服务器则应返回对应节点的子节点数据,完成动态...
在这个配置中,`async`对象定义了异步加载的相关参数,`url`指定了获取数据的API,`autoParam`和`otherParam`用于传递请求参数。`callback`对象则定义了各种回调函数,如`onClick`是节点被点击时触发的回调。 在...
在本文中,我们将深入探讨zTree的核心功能、API用法以及如何通过示例来实现各种交互效果。 zTree的核心特性包括: 1. **数据驱动**:zTree的数据模型基于JSON格式,可以轻松地与服务器端进行数据交换。 2. **多级...
3. **异步加载**:对于大型数据集,zTree支持按需加载数据,提高页面性能。 4. **事件处理**:zTree提供了一系列事件,如`onCheck`、`onClick`、`onExpand`等,允许开发者监听并响应用户的操作。 5. **节点属性**:...