zTree 异步加载 添加子节点重复问题 .

2024-05-02 14:52:06

最近写程序需要一颗可以一步加载的树,发现ztree功能很强大。搞了好久才知道怎么实现树节点的异步加载,

在这里记录下来以方便以后自己忘记了。代码如下:

  1. <spanstyle="font-size:14px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  2. <htmlxmlns="http://www.w3.org/1999/xhtml">

  3. <head>

  4. <metahttp-equiv="Content-Type"content="text/html; charset=GBK"/>

  5. <title></title>

  6. <#global path = request.getContextPath() >

  7. <!--以下为,需要引入的css和js类库-->

  8. <linkrel="stylesheet"href="${path}/ztree/css/zTreeStyle/zTreeStyle.css"type="text/css"/>

  9. <scripttype="text/javascript"src="${path}/ztree/js/jquery-1.4.4.min.js"></script>

  10. <scripttype="text/javascript"src="${path}/ztree/js/jquery.ztree.core-3.1.js"></script>

  11. <script>

  12. <!--

  13. var zTree;

  14. var productIframe;

  15. var setting = {

  16. async: {

  17. enable: true,//启用异步加载

  18. url:"${path}/pmproductAction!producttree.action", //异步请求地址

  19. autoParam:["id", "str1"], //需要传递的参数,为你在ztree中定义的参数名称

  20. otherParam:{"chk":"chk"}

  21. },

  22. view: {

  23. dblClickExpand: false,

  24. showLine: true,

  25. selectedMulti: false,

  26. expandSpeed: ($.browser.msie && parseInt($.browser.version)<=6)?"":"fast"

  27. },

  28. data: {

  29. simpleData: {

  30. enable: true

  31. }

  32. },

  33. callback: {

  34. onAsyncSuccess: onAsyncSuccess,

  35. beforeClick: function(treeId, treeNode)

  36. var zTree = $.fn.zTree.getZTreeObj("ztree");

  37. if (treeNode.isParent) {

  38. zTree.expandNode(treeNode);

  39. return false;

  40. } else {

  41. productIframe.attr("src",treeNode.url);

  42. return true;

  43. }

  44. }

  45. }

  46. };

  47. function onAsyncSuccess(event, treeId, treeNode, msg) {

  48. cancelHalf(treeNode);

  49. }

  50. function cancelHalf(treeNode) {

  51. var zTree = $.fn.zTree.getZTreeObj("ztree");

  52. treeNode.halfCheck = false;

  53. zTree.updateNode(treeNode); //异步加载成功后刷新树节点

  54. }

  55. $(document).ready(function(){

  56. //以下为第一次要加载的一级节点

  57. $.post("${path}/pmproductAction!producttree.action",{id:0,str1:"type"},function(result){

  58. $.fn.zTree.init($("#ztree"), setting, result);

  59. });

  60. productIframe = $("#products");

  61. productIframe.bind("load", loadReady);

  62. });

  63. function loadReady() {

  64. var bodyH = productIframe.contents().find("body").get(0).scrollHeight,

  65. htmlH = productIframe.contents().find("html").get(0).scrollHeight,

  66. maxH = Math.max(bodyH, htmlH), minH = Math.min(bodyH, htmlH),

  67. h = productIframe.height() >= maxH ? minH:maxH ;

  68. if (h <530) h = 530;

  69. productIframe.height(h);

  70. }

  71. //-->

  72. </script>

  73. </head>

  74. <body>

  75. <tableborder=0height=500pxalign=left>

  76. <tr>

  77. <tdwidth="20%"align="left"valign="top"style="BORDER-RIGHT: #999999 1px dashed">

  78. <ulid="ztree"class="ztree"style="overflow:auto;"></ul>

  79. </td>

  80. <tdwidth="80%"align="left"valign="top">

  81. <iframename="products"id="products"scrolling="auto"width="100%"height="500px"frameborder="0"></iframe>

  82. </td>

  83. </tr>

  84. </table>

  85. </body>

  86. </html>

  87. </span>

转载于:https://blog.51cto.com/5367224/1323982

zTree 异步加载 添加子节点重复问题 .相关推荐

  1. Jquery Ztree异步加载树

    1. 下载jquery的JS文件/ztree的CSS文件和JS文件 https://jquery.com/download/ https://gitee.com/zTree/zTree_v3/tree ...

  2. ztree java 异步_使用 zTree 异步加载

    使用 zTree 异步加载 使用场景 可能需要展示类别很多,如果采用直接加载的方式,需要展示的数据量过大,交互十分不友好.所以采用 zTree 异步加载数据. demo 环境 SpringBoot 1 ...

  3. zTree 异步加载

    前几天一直在研究zTree 怎么实现异步加载,看了很多文章头也是蒙蒙的,现在自己来总结一下,在这里先解释一下所谓的异步加载.异步加载就是数据没有一次性全部加载出来,当用户点击父节点上的"+& ...

  4. php ztree异步加载数据格式,zTree异步加载简单demo

    这几天花了些时间,试了试zTree自带的异步加载方式 还不错. 有个奇怪的问题: 无论我在服务器设置 setContentType("text/plain;charset=UTF-8&quo ...

  5. ztree异步加载数据amp;amp;amp;amp;amp;amp;amp;amp;给父节点动态追加子节点

    对于ztree,整了两天了,在数据库中查出json符合格式的数据,这很好整,但是在ztree追加时出现重复节点,找了半天资源,最终还是用ztree自带的异步加载解决问题,特此记录一下下!!如果不足请指 ...

  6. vue 项目ztree 异步加载树

    1.在data()添加setting设置 setting: {data: {simpleData: {enable: true,idKey: "",pIdKey: "&q ...

  7. java ztree 异步加载_插件使用一树形插件---zTree一zTree异步加载

    zTree 可以实现异步加载.异步加载可以让初次加载速度快,带来好的用户体验. 异步加载 官方源码中的demo提示了例子.例子是采用php语言. 在java语言中,zTree如何与Servlet结合呢 ...

  8. 使用ztree异步加载数据库数据形成树形菜单

    -搞了好久好久,在此记录一下这个这个胜利的时刻!!!!作为一个合格的程序员,任重而道远啊- 项目环境:thinkphp5+mysql+ztree 项目目标:从MySQL数据库获取小区用户位置信息.用户 ...

  9. zTree异步加载(自定义图片)

    zTree官网:点击打开链接 一:文件下载 点击首页右下角的ztree download,选择Guihub下载 点击Clone or download下载 二:相关包介绍 jquery.ztree.c ...

最新文章

  1. nvidia share有什么用_NVIDIA共享无法在Win10上运行或响应
  2. 模板引擎-模板引擎渐进进化
  3. MNN编译android
  4. 2025年全球结构化布线市场预计将达到165亿美元
  5. 前端模板引擎Thymeleaf快速入门
  6. 学习VUE时,利用webpack打包的错误处理方法
  7. 【面向对象】继承与封装
  8. 数据结构:单链表和双向链表
  9. CListCtrl控件的使用指南
  10. import matplotlib.pyplot as plt
  11. PHP 微信小程序 WebSocket MySQL Redis实现聊天功能
  12. matlab函数性质探讨答案,matlab函数性质探讨
  13. 智能汽车能否真正实现无人驾驶,为什么?
  14. Axure RP9授权码适合3658版本,亲测可用
  15. 如何查看磁盘是GUID格式(GPT)还是MBR格式?判别UEFI模式启动,还是Legacy模式启动?
  16. zbb20170630 web项目发布至tomcat的ROOT下方法(开发环境和部署环境)
  17. Android实用代码大全
  18. matlab图片在word/wps中模糊解决方法,matlab图片转pdf后信息丢失解决方法
  19. 关于一次定时任务删除数据库aud文件的记录
  20. 软件比人可靠——错误管理软件TestDirector

热门文章

  1. jquery 开发总结(不断更新)
  2. hdu3415单调队列
  3. 汇编 加法减法指令 inc dec add sub neg 标志寄存器测试
  4. 【Groovy】闭包 Closure ( 闭包类 Closure 简介 | this、owner、delegate 成员区别 | 静态闭包变量 | 闭包中定义闭包 )
  5. 【Google Play】应用 “更新被拒“ 后续处理 ( 上传新版本后 , 一定要停用被拒的版本, 才可以通过审核 | 停用被拒的版本 | 送审 )
  6. 【错误记录】Google Play 上架报错 ( 您还没有为此轨道选择任何国家或地区。至少要添加 1 个国家或地区才能发布此版本)
  7. 【MATLAB】数据类型 ( 元胞数组 | 单位阵 | 幻方 | 结构体 | 元胞数组值获取 )
  8. 【计算理论】可判定性 ( 对角线方法 | 证明自然数集 N 与实数集 R 不存在一一对应关系 )
  9. 【Android 安全】DEX 加密 ( ProGuard 混淆 | -keepclassmembers 混淆效果 | -keepclasseswithmembernames 混淆效果 )
  10. 【Android 应用开发】自定义View 和 ViewGroup