`
zTreeAPI
  • 浏览: 347493 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JQuery Tree插件——zTree v3.3 正式版 发布

阅读更多

 

  这次 zTree v3.3 继续修改一些细节 bug,同时尝试推出 exhide 扩展包,主要是为了实现一些扩展功能。 

  

  因为隐藏节点的功能 与 编辑功能(尤其是拖拽操作)结合使用的时候势必会产生许多需求方面的细节问题,因此 exhide 扩展请不要与 exedit 功能同时使用。


  针对 隐藏节点 与 checkbox / radio 功能同时使用时的策略如下:

 

  1.   被隐藏的节点(包括其全部子节点)不会与父节点的勾选状态有任何关联(包括半勾选状态),即相当于被删除,除非被重新显示。
  2.   isFirstNode 和 isLastNode 属性只针对显示的节点处理,被隐藏的节点这两个属性都被设置为 false
  3.   隐藏节点 不会影响 getPreNode() 和 getNextNode() 方法

   这应该是能够满足大部分需求,如果你的实际需求的确与这个策略不同,那么请根据实际情况去修改 exhide 即可。


  请注意:jquery.ztree.all 文件中 仅仅包含 core、excheck、exedit 这三个 js 包; 对于 exhide 以及以后推出的 扩展包都不会包含在 jquery.ztree.all 文件中。

  如果需要使用,请自行添加。


  在线操作演示:http://www.ztree.me/v3/demo.php#_101

  快速下载地址:http://code.google.com/p/jquerytree/downloads/list

 

 

下面是 v3.3 的修改记录:


   * 【增加】扩展库 exhide -- 节点隐藏功能


   * 【修改】getNodesByFilter 方法,添加 invokeParam 自定义参数

   * 【修改】拖拽中测试代码未删除,导致出现黄颜色的 iframe 遮罩层的 bug

   * 【修改】延迟加载方法 对于使用 expandAll 进行全部展开时,导致 onNodeCreated 回调 和 addDiyDom 方法触发过早的 bug

   * 【修改】异步加载模式下无法利用 server 返回 xml 并且 在 dataFilter 中继续处理的 bug

    抱歉,刚发现这个bug 被漏掉了,下次版本时进行修正吧。

   * 【修改】使用 moveNode 移动尚未生成 DOM 的节点时,视图会出现异常的 bug

   * 【修改】删除节点后,相关节点的 isFirstNode 属性未重置的 bug

   * 【修改】getPreNode(),getNextNode() 方法在对于特殊情况时计算错误的 bug

   * 【修改】设置 title 之后,如果重新将 title 内容设置为空后,会导致无法更新 title 的 bug

   * 【修改】针对 setting.check.chkStyle=="radio" && setting.check.radioType=="all" 的情况时,getTreeCheckedNodes方法优化,找到一个结果就 break

   * 【修改】zTreeObj.getCheckedNodes(false) 在 radioType = "all" 时计算错误的 bug

   * 【修改】完善 API 中 beforeDrop / onDrop 的关于 treeId 的说明

 

分享到:
评论
26 楼 zTreeAPI 2012-08-06  
dedey 写道
是不是不支持一个页面上,有两棵完全不同的树

不应该呀,理论上来说只要客户端受得了。。有多少棵树都可以的。 但一定要保证 id 唯一。
25 楼 dedey 2012-08-06  
是不是不支持一个页面上,有两棵完全不同的树
24 楼 zTreeAPI 2012-08-01  
sunliao_first 写道
碰到一个很诡异的问题,用树来做链接,树初始化出来,就是一些文字结构, 树的图片什么的都没了

检查 css 、img 路径是否正确,是否能够正常加载,再就是看看是否有 css 冲突
23 楼 sunliao_first 2012-08-01  
碰到一个很诡异的问题,用树来做链接,树初始化出来,就是一些文字结构, 树的图片什么的都没了
22 楼 zTreeAPI 2012-07-31  
sunliao_first 写道
zTree = $.fn.zTree.getZTreeObj("tree_div");
zTree.expandAll(true);
这棵树是异步加载的,想一次性全部展开,但是只展开了第一层,后面就不执行,也就是根本没掉url了,不知道咋回事

expandAll 是针对已加载的节点实现的全部展开; 你的需求请参考Demo:http://www.ztree.me/v3/demo.php#_512
21 楼 sunliao_first 2012-07-31  
zTree = $.fn.zTree.getZTreeObj("tree_div");
zTree.expandAll(true);
这棵树是异步加载的,想一次性全部展开,但是只展开了第一层,后面就不执行,也就是根本没掉url了,不知道咋回事
20 楼 zTreeAPI 2012-07-19  
designlee 写道
..还有2个问题,使用moveNode()移动节点的pId不会改变,需要updateNode()?根节点初始化pId有值,getNodes()后,取出是null?

setting.data.simpleData.rootPId 设置了默认的根节点 pId 的值。
19 楼 designlee 2012-07-19  
zTreeAPI 写道
designlee 写道
zTreeAPI 写道
designlee 写道
设置 setting.data.key.title="id" 或者 "pId" 有问题?

只要你的数据中有 id 或 pId 就可以设置

demo exedit\edit_super.html 增加 key:{title:'id'} 报错 key:{title:'name'} 没有问题

我明白了,这个原先没有在意。 因为 使用了 replace 方法,所以要求 必须是 string 类型的值才可以,我已经把这个问题记录下来了, 下个版本会提升这个功能,允许支持 number 类型的值。

辛苦,辛苦。还有2个问题,使用moveNode()移动节点的pId不会改变,需要updateNode()?根节点初始化pId有值,getNodes()后,取出是null?
18 楼 zTreeAPI 2012-07-19  
designlee 写道
zTreeAPI 写道
designlee 写道
设置 setting.data.key.title="id" 或者 "pId" 有问题?

只要你的数据中有 id 或 pId 就可以设置

demo exedit\edit_super.html 增加 key:{title:'id'} 报错 key:{title:'name'} 没有问题

我明白了,这个原先没有在意。 因为 使用了 replace 方法,所以要求 必须是 string 类型的值才可以,我已经把这个问题记录下来了, 下个版本会提升这个功能,允许支持 number 类型的值。
17 楼 designlee 2012-07-19  
zTreeAPI 写道
designlee 写道
设置 setting.data.key.title="id" 或者 "pId" 有问题?

只要你的数据中有 id 或 pId 就可以设置

demo exedit\edit_super.html 增加 key:{title:'id'} 报错 key:{title:'name'} 没有问题
16 楼 zTreeAPI 2012-07-19  
designlee 写道
设置 setting.data.key.title="id" 或者 "pId" 有问题?

只要你的数据中有 id 或 pId 就可以设置
15 楼 designlee 2012-07-19  
设置 setting.data.key.title="id" 或者 "pId" 有问题?
14 楼 zTreeAPI 2012-07-18  
wt0731 写道
...按照你提供的方法改了,菜单出来了,但是问题依旧,Session中的Menus在别的用户登录后被篡改 。

通过其它方式解决了“Session中的Menus在别的用户登录后被篡改 ”的问题,谢谢你的回复!

看来还是 server 端的问题了。 以后有问题还请继续沟通吧
13 楼 wt0731 2012-07-18  
wt0731 写道
zTreeAPI 写道
wt0731 写道
...asyncUrl: "getSubtree.ashx?time=' + Date()"...

如果还不行,就按照 API 上的 标准方法试试看:

function getAsyncUrl(treeNode) {
    var url = "";
    ......
    return url;
};
var setting = {
    asyncUrl : getAsyncUrl,
    ......
};



按照你提供的方法改了,菜单出来了,但是问题依旧,Session中的Menus在别的用户登录后被篡改 。



通过其它方式解决了“Session中的Menus在别的用户登录后被篡改 ”的问题,谢谢你的回复!
12 楼 wt0731 2012-07-18  
zTreeAPI 写道
wt0731 写道
...asyncUrl: "getSubtree.ashx?time=' + Date()"...

如果还不行,就按照 API 上的 标准方法试试看:

function getAsyncUrl(treeNode) {
    var url = "";
    ......
    return url;
};
var setting = {
    asyncUrl : getAsyncUrl,
    ......
};



按照你提供的方法改了,菜单出来了,但是问题依旧,Session中的Menus在别的用户登录后被篡改 。
11 楼 zTreeAPI 2012-07-18  
wt0731 写道
zTreeAPI 写道
wt0731 写道
...asyncUrl: "getSubtree.ashx?time=' + Date()"...

呵呵,你这加的时间戳跟没加一样。 要保证每次ajax 都要换时间戳的呀,那个才是真正的时间戳的意义。

利用 function 的功能

asyncUrl: function(){return "getSubtree.ashx?time=' + Date()"}

这样试试看

  一上班就试了,不行,现在是菜单都不出来了(树都没有出来),还有其它方法吗,好心人?

我是直接复制的代码,没有细看。
asyncUrl: function(){return "getSubtree.ashx?time=" + Date()}

如果还不行,就按照 API 上的 标准方法试试看:

function getAsyncUrl(treeNode) {
    var url = "";
    ......
    return url;
};
var setting = {
    asyncUrl : getAsyncUrl,
    ......
};
10 楼 wt0731 2012-07-18  
zTreeAPI 写道
wt0731 写道
...asyncUrl: "getSubtree.ashx?time=' + Date()"...

呵呵,你这加的时间戳跟没加一样。 要保证每次ajax 都要换时间戳的呀,那个才是真正的时间戳的意义。

利用 function 的功能

asyncUrl: function(){return "getSubtree.ashx?time=' + Date()"}

这样试试看

  一上班就试了,不行,现在是菜单都不出来了(树都没有出来),还有其它方法吗,好心人?
9 楼 zTreeAPI 2012-07-17  
wt0731 写道
...asyncUrl: "getSubtree.ashx?time=' + Date()"...

呵呵,你这加的时间戳跟没加一样。 要保证每次ajax 都要换时间戳的呀,那个才是真正的时间戳的意义。

利用 function 的功能

asyncUrl: function(){return "getSubtree.ashx?time=' + Date()"}

这样试试看
8 楼 wt0731 2012-07-17  
zTreeAPI 写道
wt0731 写道
...
谢谢你的回复,经过测试,发现不使用异步加载没有该问题,使用异步加载就有上面的问题,“异步加载模式下全部展开- [ 后台自动全部加载 ]”变相解决问题。
问题再详细描述下:
 在PC1下以user1登录系统,登录成功后,不展开树菜单,接着以user2在PC2登录系统(不同的PC登录),之后user1的展开菜单,菜单变成了user2用户权限下的菜单了。

这应该是 ajax 加载时的缓存导致,我已经记录下来了,以后会自动添加时间戳,现在你可以利用 async.url 自行添加时间戳,以保证没有缓存


asyncUrl: "getSubtree.ashx?time=' + Date()", 加了时间戳问题依旧,纠结中。


  var zTree;
        var setting = {
            async: true,
             asyncUrl: "getSubtree.ashx?time=' + Date()",
            asyncParam: ["id"],
            showLine: true
        };
        $(document).ready(function() {
            setting.expandSpeed = "fast";
            zTree = $("#tree").zTree(setting, null);
        });
异步后台自动全部加载,参考你写的例子没有改出来,忘赐教。
7 楼 zTreeAPI 2012-07-17  
wt0731 写道
...
谢谢你的回复,经过测试,发现不使用异步加载没有该问题,使用异步加载就有上面的问题,“异步加载模式下全部展开- [ 后台自动全部加载 ]”变相解决问题。
问题再详细描述下:
 在PC1下以user1登录系统,登录成功后,不展开树菜单,接着以user2在PC2登录系统(不同的PC登录),之后user1的展开菜单,菜单变成了user2用户权限下的菜单了。

这应该是 ajax 加载时的缓存导致,我已经记录下来了,以后会自动添加时间戳,现在你可以利用 async.url 自行添加时间戳,以保证没有缓存

相关推荐

    JQuery zTree v3.3

    JQuery zTree是一款基于JavaScript的开源树...总之,JQuery zTree v3.3是一个强大且易用的JavaScript树形插件,它通过提供多种操作功能、良好的性能以及灵活的定制选项,满足了开发者在构建网页树形结构时的各种需求。

    zTree v3.3 API帮助chm格式

    zTree v3.3 API帮助 根据官方网站提供的帮助制作 因为原始文档不能直接在本地打开帮助查看麻烦,所以制作成了chm格式

    JQuery-zTree-v2.6.rar_Java 8_jquery tree_jquery-ztree-2.6.js_jqu

    2、在一个页面内可同时生成多个 Tree 实例 3、支持 JSON 数据 4、支持一次性静态生成 和 Ajax 异步加载 两种方式 5、支持多种事件响应及反馈 6、支持 Tree 的节点移动、编辑、删除 7、支持极其灵活的 checkbox...

    jquery tree样式多样

    本文将深入探讨jQuery Tree的核心特性、样式定制以及如何利用JQuery zTree v3.3实现多样化样式。 首先,jQuery Tree的基本概念是将HTML元素转化为可展开/折叠的节点结构,通常用于展现层级关系的数据,如目录结构、...

    JQuery zTree v3.4 ztree

    JQuery zTree 是一个基于 jQuery 的插件,用于在网页中构建交互式的树形结构。v3.4 版本是其稳定且功能丰富的版本之一,适用于多种应用场景,如数据展示、导航菜单、文件目录等。它以其易用性、高效性和强大的功能...

    全网jquery.tree树形菜单打包下载(zTree&jquery-ui&treeview共四种)

    这个压缩包包含四个不同的jQuery树形插件:zTree、jQuery UI Treeview、jQuery UI Draggable Tree和jQuery Simple Treeview。这些插件各有特色,适用于不同的项目需求。 首先,zTree是一款功能强大的jQuery插件,...

    jQuery 树形结构插件 zTree

    **jQuery zTree 插件详解** zTree 是一个基于 jQuery 的强大树形控件,它在Web开发中被广泛应用于构建动态的、交互式的树形结构。zTree 的设计目标是提供高性能、易于配置和丰富的功能,使得开发者可以轻松地在网页...

    Jquery-ztree树形菜单代码并适应移动端

    JQuery-zTree是一款基于jQuery的树形插件,它提供了丰富的功能和良好的性能,尤其适用于构建树形结构的菜单和数据展示。在移动端应用中,zTree能够自适应屏幕尺寸,提供良好的用户体验。本项目提供的代码是针对...

    JQuery zTree v2.6

    JQuery zTree是一款基于JavaScript的树形插件,其v2.6版本在功能和性能上进行了优化,为开发者提供了更强大的树形结构处理能力。这个版本的zTree不仅包含了完整的API文档,还附带了一系列经典实例,便于开发者理解和...

    archive_zTree(JQuery Tree) v3.1.zip.zip

    【标题】"archive_zTree(JQuery Tree) v3.1.zip.zip" 提供的是一个用于构建树形结构的jQuery插件——zTree的v3.1版本。zTree是一款广泛应用于网页开发中的JavaScript库,它使得在网页上展示层级关系的数据变得更加...

    ztree官网参考文档及demo

    zTree是一个基于jQuery的树形插件,它能够快速构建出各种类型的树形结构,如文件目录树、组织架构树等。zTree提供了多种数据格式支持,包括JSON、XML等,使得数据处理更加便捷。同时,zTree具备强大的事件机制和API...

    JQuery实现树插件 Ztree

    JQuery实现树插件Ztree是一个广泛使用的轻量级前端组件,它为Web开发者提供了构建交互式树形结构的便捷工具。Ztree基于流行的JavaScript库JQuery,因此,如果你已经熟悉JQuery,那么掌握Ztree将相对容易。在本文中,...

    JQuery zTree v3.5.47.zip

    《JQuery zTree v3.5.47:构建动态树形菜单的利器》 JQuery zTree是一款基于JavaScript的开源库,专用于构建交互式的树形菜单。在这个版本v3.5.47中,它继续提供高效、灵活且功能丰富的解决方案,尤其适用于网页中...

    JQuery zTree v3.5 api

    jQuery zTree 是一款基于 jQuery 的树形插件,广泛应用于网站导航、组织结构展示、文件目录管理等多种场景。v3.5 版本是其一个重要的里程碑,它提供了丰富的功能和优化的性能,使得开发者能够更加灵活地构建树形结构...

    JQuery zTree v3.2 最新版

    Tree 感兴趣或者愿意资助 zTree 继续发展下去,可以进行捐助。 zTree v3.0 将核心代码按照功能进行了分割,不需要的代码可以不用加载 采用了 延迟加载 技术,上万节点轻松加载,即使在 IE6 下也能基本做到秒杀 兼容 ...

    jquery.zTree.js.rar

    jquery-1.4.4.min.js jquery.ztree.exhide.min.js jquery.ztree.exedit.min.js jquery.ztree.excheck.min.js jquery.ztree.core.min.js jquery.ztree.all.min.js jquery-1.4.4.js jquery.ztree.exhide.js jquery....

    JQueryTree zTree

    `JQueryTree` 和 `zTree` 是两个基于JavaScript库,尤其是jQuery框架的插件,用于实现动态、交互式的树形组件。 **JQueryTree** `JQueryTree` 是一个轻量级的jQuery插件,主要用于构建可操作的HTML5树视图。它提供...

    JQuery zTree v3.5.14

    **jQuery zTree v3.5.14** 是一个基于jQuery的树形插件,它在Web开发中广泛用于创建交互式的树形结构。这个版本3.5.14是zTree的一个稳定版本,提供了丰富的功能和优化的性能。下面我们将深入探讨zTree的核心特性、...

Global site tag (gtag.js) - Google Analytics