阅读更多

59顶
0踩

Web前端
选在情人节发布 zTree v3.1,希望 zTree 能够拥有更多的“粉丝”。

这次 v3.1 整体改动不大,但因为修改了 css 和 图片,所以升级时需要注意了

另外,应不少朋友的要求,我把 API 的页面抽取出来,做了一个简易版的 API 离线文档,方便大家使用。

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

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



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

  • 【增加】ajax 的参数 setting.async.contentType ,让提交参数适用于 json 数据提交 (主要适用于 .Net 的开发)。
  • 【增加】setting.edit.editNameSelectAll, 用于设定编辑节点名称时初次显示 input 后 text 内容为全选。
  • 【修改】异步加载规则,不再仅仅依靠父节点的子节点数来判定,增加内部属性 zAsync,保证默认状态下父节点及时无子节点也只能异步加载一次,除非使用 reAsyncChildNodes 方法强行控制异步加载。
  • 【修改】放大浏览器后导致 界面出现多余连接线的bug (需要更新:icon 图标和 css )。
  • 【修改】在编辑状态,如果节点名超过编辑框宽度,左右键在框内不起作用的bug(在IE6/7/8中出现)。CSS 中 filter:alpha(opacity=80) 造成的,应该是 IE 的 bug,需要更新 css 文件。
  • 【修改】title 设置后,如果属性不存在,则默认 title 为空,便于数据容错和用户灵活使用。
  • 【修改】editName 方法如果针对尚未展开的父节点,会导致该父节点自动展开的 bug。
  • 【修改】title 中存在标签时导致 title 显示异常的bug(例如:蓝色字22%"'<input/>)。
59
0
评论 共 74 条 请登录后发表评论
54 楼 zTreeAPI 2012-02-18 20:46
jljlpch 写道
在init化树之后,希望调用expandAll展开所有树节点,该函数不能使用,原因应该是树还没有渲染。
要实现初始化展开的功能,只能在json数据中去写,能不能像Ext中的树一样,加上afterRender事件呢?

1、对于没有使用异步加载的树,完全可以在 init 初始化之后使用 expandAll 方法展开所有节点
2、对于异步加载的树,请在 asyncSuccess 回调函数中使用 expandAll 方法展开已加载的所有节点。
   这里请记住, zTree 的expandAll 方法并没有特意去实现自动异步加载全部子节点并展开的功能。 理由如下:
   A、zTree 使用了延迟加载技术,对于数据较大的情况下,也可以一次性全部加载
   B、使用异步加载基本上是为了保证效率和展现速度,既然用了异步加载,又要用 expandAll 把所有的数据都逐步异步加载并展开,那么实际效率反倒会更低,这时候异步加载又有什么意义呢?
53 楼 zTreeAPI 2012-02-18 20:41
tomfish88 写道
我想问一下,多选树选中的数据能保存么? 下次打开的时候这些数据还在树上显示??然后可以重新选中,这个功能有没有?

抱歉,目前没有提供将数据保存在 cookie等客户端的功能。 请自行保存。

备注:
1、你可以保存全部数据,但因为cookie对数据量有限制,如果数据太多是不能放在cookie中的。
2、可以考虑只将多选的节点数据的 id 保存下来,下次打开页面时,将这些id取出,针对这些id 的节点进行 selectNode 方法选中
3、还可以考虑页面不刷新,这样就可以尽量避免这种情况。
52 楼 jljlpch 2012-02-18 17:25
在init化树之后,希望调用expandAll展开所有树节点,该函数不能使用,原因应该是树还没有渲染。
要实现初始化展开的功能,只能在json数据中去写,能不能像Ext中的树一样,加上afterRender事件呢?
51 楼 wanghuaitcast 2012-02-18 17:05
很强大,令我佩服的demo很好
50 楼 tomfish88 2012-02-18 10:26
我想问一下,多选树选中的数据能保存么? 下次打开的时候这些数据还在树上显示??然后可以重新选中,这个功能有没有?
49 楼 whaosoft 2012-02-17 23:36
用着好强大
48 楼 zTreeAPI 2012-02-17 17:50
flex_莫冲 写道
支持移动设备吗,ipad,iphone,ipod,android2.2以上版本?

不好意思,完全没有针对移动设备做相应的事件处理,当初自己用 android 的手机浏览过,可以普通展开、折叠,点击跳转等操作,但对于拖拽是不行的。

个人一直觉得 移动设备屏幕太小(ipad除外),有谁会原因用web放颗树呢? 希望继续沟通,把你的想法告诉我,谢谢。
47 楼 flex_莫冲 2012-02-17 17:24
支持移动设备吗,ipad,iphone,ipod,android2.2以上版本?
46 楼 xingchenzhan 2012-02-17 10:02
真是很精品。
45 楼 zTreeAPI 2012-02-16 18:00
josunmarks 写道
搜索时发现个问题  搜索没有展开的节点 定位后 节点不展开

你说的是 Demo 展现规则问题吧?? 这是因为 Demo 本身很简单,不会考虑那么多周到的细节规则,如果需要展开,可以在定位节点时,使用 expandNode 方法即可
44 楼 josunmarks 2012-02-16 16:18
搜索时发现个问题  搜索没有展开的节点 定位后 节点不展开
43 楼 zTreeAPI 2012-02-16 14:41
xieboxin 写道
xieboxin 写道
demo演示中,对于没有子节点的节点,第一次点击正常。收起第二次打开时,后面预留了一行位置。两次的结果不一样。IE7的环境下。
是不是需要修改下?

最简单的树 -- 标准 JSON 数据
这个位置的

找到原因了,是因为动画效果 在 IE7下出现异常,同时我在处理 折叠操作时忽略了无子节点的情况导致, 如果你使用时在意这个问题,可以设置 zTree 的 setting.view.expandSpeed = "" 关闭动画效果即可! 我这里已经对核心代码进行了修正,在 v3.2 发布时会更正此bug! 再次感谢!
42 楼 zTreeAPI 2012-02-16 14:05
xieboxin 写道
xieboxin 写道
demo演示中,对于没有子节点的节点,第一次点击正常。收起第二次打开时,后面预留了一行位置。两次的结果不一样。IE7的环境下。
是不是需要修改下?

最简单的树 -- 标准 JSON 数据
这个位置的

感谢,这里的确是 IE7 下有点儿问题,我会尽快检查并修改的。
41 楼 xieboxin 2012-02-16 13:52
xieboxin 写道
demo演示中,对于没有子节点的节点,第一次点击正常。收起第二次打开时,后面预留了一行位置。两次的结果不一样。IE7的环境下。
是不是需要修改下?

最简单的树 -- 标准 JSON 数据
这个位置的
40 楼 xieboxin 2012-02-16 13:50
demo演示中,对于没有子节点的节点,第一次点击正常。收起第二次打开时,后面预留了一行位置。两次的结果不一样。IE7的环境下。
是不是需要修改下?
39 楼 jiake0504 2012-02-16 12:53
赞一下……很不错的东东。
38 楼 wuzhxun 2012-02-16 09:37
demo做的很好,赞!
37 楼 zTreeAPI 2012-02-16 08:57
oldnew 写道
zTreeAPI 写道
oldnew 写道
能不能用在弹出层上生成树形

当然可以,只需要把 zTree 的容器建立在 弹出层内即可。

可有demo参考

请参考 http://www.baby666.cn/v3/demo.php#_507
36 楼 zTreeAPI 2012-02-16 08:53
jljlpch 写道
很强大,jquery中就没有好的树形插件,我一直都想自己写一个,看样子现在是不用了。

非常欢迎提出宝贵意见,大家互相沟通。
35 楼 hbbbs 2012-02-16 08:48
很不错的东东,多的不说,支持一个先,

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

Global site tag (gtag.js) - Google Analytics