zTree 异步加载 添加子节点重复问题 .
最近写程序需要一颗可以一步加载的树,发现ztree功能很强大。搞了好久才知道怎么实现树节点的异步加载,
在这里记录下来以方便以后自己忘记了。代码如下:
<spanstyle="font-size:14px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html; charset=GBK"/>
<title></title>
<#global path = request.getContextPath() >
<!--以下为,需要引入的css和js类库-->
<linkrel="stylesheet"href="${path}/ztree/css/zTreeStyle/zTreeStyle.css"type="text/css"/>
<scripttype="text/javascript"src="${path}/ztree/js/jquery-1.4.4.min.js"></script>
<scripttype="text/javascript"src="${path}/ztree/js/jquery.ztree.core-3.1.js"></script>
<script>
<!--
var zTree;
var productIframe;
var setting = {
async: {
enable: true,//启用异步加载
url:"${path}/pmproductAction!producttree.action", //异步请求地址
autoParam:["id", "str1"], //需要传递的参数,为你在ztree中定义的参数名称
otherParam:{"chk":"chk"}
},
view: {
dblClickExpand: false,
showLine: true,
selectedMulti: false,
expandSpeed: ($.browser.msie && parseInt($.browser.version)<=6)?"":"fast"
},
data: {
simpleData: {
enable: true
}
},
callback: {
onAsyncSuccess: onAsyncSuccess,
beforeClick: function(treeId, treeNode)
var zTree = $.fn.zTree.getZTreeObj("ztree");
if (treeNode.isParent) {
zTree.expandNode(treeNode);
return false;
} else {
productIframe.attr("src",treeNode.url);
return true;
}
}
}
};
function onAsyncSuccess(event, treeId, treeNode, msg) {
cancelHalf(treeNode);
}
function cancelHalf(treeNode) {
var zTree = $.fn.zTree.getZTreeObj("ztree");
treeNode.halfCheck = false;
zTree.updateNode(treeNode); //异步加载成功后刷新树节点
}
$(document).ready(function(){
//以下为第一次要加载的一级节点
$.post("${path}/pmproductAction!producttree.action",{id:0,str1:"type"},function(result){
$.fn.zTree.init($("#ztree"), setting, result);
});
productIframe = $("#products");
productIframe.bind("load", loadReady);
});
function loadReady() {
var bodyH = productIframe.contents().find("body").get(0).scrollHeight,
htmlH = productIframe.contents().find("html").get(0).scrollHeight,
maxH = Math.max(bodyH, htmlH), minH = Math.min(bodyH, htmlH),
h = productIframe.height() >= maxH ? minH:maxH ;
if (h <530) h = 530;
productIframe.height(h);
}
//-->
</script>
</head>
<body>
<tableborder=0height=500pxalign=left>
<tr>
<tdwidth="20%"align="left"valign="top"style="BORDER-RIGHT: #999999 1px dashed">
<ulid="ztree"class="ztree"style="overflow:auto;"></ul>
</td>
<tdwidth="80%"align="left"valign="top">
<iframename="products"id="products"scrolling="auto"width="100%"height="500px"frameborder="0"></iframe>
</td>
</tr>
</table>
</body>
</html>
</span>
转载于:https://blog.51cto.com/5367224/1323982
zTree 异步加载 添加子节点重复问题 .相关推荐
- Jquery Ztree异步加载树
1. 下载jquery的JS文件/ztree的CSS文件和JS文件 https://jquery.com/download/ https://gitee.com/zTree/zTree_v3/tree ...
- ztree java 异步_使用 zTree 异步加载
使用 zTree 异步加载 使用场景 可能需要展示类别很多,如果采用直接加载的方式,需要展示的数据量过大,交互十分不友好.所以采用 zTree 异步加载数据. demo 环境 SpringBoot 1 ...
- zTree 异步加载
前几天一直在研究zTree 怎么实现异步加载,看了很多文章头也是蒙蒙的,现在自己来总结一下,在这里先解释一下所谓的异步加载.异步加载就是数据没有一次性全部加载出来,当用户点击父节点上的"+& ...
- php ztree异步加载数据格式,zTree异步加载简单demo
这几天花了些时间,试了试zTree自带的异步加载方式 还不错. 有个奇怪的问题: 无论我在服务器设置 setContentType("text/plain;charset=UTF-8&quo ...
- ztree异步加载数据amp;amp;amp;amp;amp;amp;amp;amp;给父节点动态追加子节点
对于ztree,整了两天了,在数据库中查出json符合格式的数据,这很好整,但是在ztree追加时出现重复节点,找了半天资源,最终还是用ztree自带的异步加载解决问题,特此记录一下下!!如果不足请指 ...
- vue 项目ztree 异步加载树
1.在data()添加setting设置 setting: {data: {simpleData: {enable: true,idKey: "",pIdKey: "&q ...
- java ztree 异步加载_插件使用一树形插件---zTree一zTree异步加载
zTree 可以实现异步加载.异步加载可以让初次加载速度快,带来好的用户体验. 异步加载 官方源码中的demo提示了例子.例子是采用php语言. 在java语言中,zTree如何与Servlet结合呢 ...
- 使用ztree异步加载数据库数据形成树形菜单
-搞了好久好久,在此记录一下这个这个胜利的时刻!!!!作为一个合格的程序员,任重而道远啊- 项目环境:thinkphp5+mysql+ztree 项目目标:从MySQL数据库获取小区用户位置信息.用户 ...
- zTree异步加载(自定义图片)
zTree官网:点击打开链接 一:文件下载 点击首页右下角的ztree download,选择Guihub下载 点击Clone or download下载 二:相关包介绍 jquery.ztree.c ...
最新文章
- nvidia share有什么用_NVIDIA共享无法在Win10上运行或响应
- 模板引擎-模板引擎渐进进化
- MNN编译android
- 2025年全球结构化布线市场预计将达到165亿美元
- 前端模板引擎Thymeleaf快速入门
- 学习VUE时,利用webpack打包的错误处理方法
- 【面向对象】继承与封装
- 数据结构:单链表和双向链表
- CListCtrl控件的使用指南
- import matplotlib.pyplot as plt
- PHP 微信小程序 WebSocket MySQL Redis实现聊天功能
- matlab函数性质探讨答案,matlab函数性质探讨
- 智能汽车能否真正实现无人驾驶,为什么?
- Axure RP9授权码适合3658版本,亲测可用
- 如何查看磁盘是GUID格式(GPT)还是MBR格式?判别UEFI模式启动,还是Legacy模式启动?
- zbb20170630 web项目发布至tomcat的ROOT下方法(开发环境和部署环境)
- Android实用代码大全
- matlab图片在word/wps中模糊解决方法,matlab图片转pdf后信息丢失解决方法
- 关于一次定时任务删除数据库aud文件的记录
- 软件比人可靠——错误管理软件TestDirector
热门文章
- jquery 开发总结(不断更新)
- hdu3415单调队列
- 汇编 加法减法指令 inc dec add sub neg 标志寄存器测试
- 【Groovy】闭包 Closure ( 闭包类 Closure 简介 | this、owner、delegate 成员区别 | 静态闭包变量 | 闭包中定义闭包 )
- 【Google Play】应用 “更新被拒“ 后续处理 ( 上传新版本后 , 一定要停用被拒的版本, 才可以通过审核 | 停用被拒的版本 | 送审 )
- 【错误记录】Google Play 上架报错 ( 您还没有为此轨道选择任何国家或地区。至少要添加 1 个国家或地区才能发布此版本)
- 【MATLAB】数据类型 ( 元胞数组 | 单位阵 | 幻方 | 结构体 | 元胞数组值获取 )
- 【计算理论】可判定性 ( 对角线方法 | 证明自然数集 N 与实数集 R 不存在一一对应关系 )
- 【Android 安全】DEX 加密 ( ProGuard 混淆 | -keepclassmembers 混淆效果 | -keepclasseswithmembernames 混淆效果 )
- 【Android 应用开发】自定义View 和 ViewGroup