jquery ztree 刷新后记录折叠、展开状态
2013-09-11 09:53
561 查看
ztree :http://www.ztree.me/v3/main.php
项目中用到了这个插件,刚好也有需求 在页面刷新后,保存开始的展开、折叠状态,
其实 dtree: http://www.destroydrop.com/javascripts/tree/ 原生就支持了,不想折腾的,可以直接用这个,
我不使用 dtree 是因为 以前项目中使用过 ztree ,且自定义了皮肤,so ....
简单说下,实现原理
1. 在 onCollapse , onExpand 里面使用 cookie 记录展开的 node id,如果树比较庞大,可能会超过 cookie 容量,请自行斟酌,
2. 在 ztree init 之前,手动去处理数据源的每个 node 的 open(是否默认展开) 属性,其实就是拿 node id 去 cookie 里面去对比,如果有 open 为 true,否则 ...
其实你应该也能想到,如果 node 比较多,一个一个去处理,也可能会有性能瓶颈;
整体实现方法不是很完美,但是粗糙能用,希望官方早日做扩展支持,
code :https://github.com/twoer/zTree_v3/blob/master/js/jquery.ztree.exlog-0.1.js
如有问题、建议,请留言反馈,谢谢!
项目中用到了这个插件,刚好也有需求 在页面刷新后,保存开始的展开、折叠状态,
其实 dtree: http://www.destroydrop.com/javascripts/tree/ 原生就支持了,不想折腾的,可以直接用这个,
我不使用 dtree 是因为 以前项目中使用过 ztree ,且自定义了皮肤,so ....
简单说下,实现原理
1. 在 onCollapse , onExpand 里面使用 cookie 记录展开的 node id,如果树比较庞大,可能会超过 cookie 容量,请自行斟酌,
2. 在 ztree init 之前,手动去处理数据源的每个 node 的 open(是否默认展开) 属性,其实就是拿 node id 去 cookie 里面去对比,如果有 open 为 true,否则 ...
其实你应该也能想到,如果 node 比较多,一个一个去处理,也可能会有性能瓶颈;
整体实现方法不是很完美,但是粗糙能用,希望官方早日做扩展支持,
code :https://github.com/twoer/zTree_v3/blob/master/js/jquery.ztree.exlog-0.1.js
如有问题、建议,请留言反馈,谢谢!
相关文章推荐
- js记录点击某个按钮的次数-刷新次数为初始状态的实例
- 基于cookie实现zTree树刷新后,展开状态不变
- 如何在C#的TreeView控件中双击节点而不改变节点的展开/折叠状态
- jface TreeViewer 刷新后恢复之前的展开状态
- easyui tree文本单击事件切换展开/折叠节点的状态
- PHP树形菜单一次展开一个子项目,可以记录打开的项目,刷新后不变
- 如何获取树节点目前是折叠还是展开状态
- 基于cookie实现zTree树刷新后展开状态不变
- JTree---刷新树,保存树的刷新前的展开状态
- C# winform treeview 刷新前,记录上次折叠情况,刷新后,恢复到上次情况
- [置顶] Extjs4 异步刷新书的情况下 保持树的展开状态
- 基于cookie实现ztree树刷新后,展开状态不变
- UITableView 刷新头部时,头部每次都变为开始的状态,无法记录当前的状态
- 基于cookie实现ztree树刷新后,展开状态不变
- Extjs4 异步刷新书的情况下 保持树的展开状态
- TreeView点击之后保持点击节点的方法 (展开后刷新仍保持展开状态的方法)
- winform如何保持TreeView节点展开和折叠的状态
- 使用userdata保持TreeView展开/折叠状态
- JS实现对gridview中的checkbox的选中个数记录,并在页面刷新时保持checkbox的状态 .
- 刷新后保持大分类和小分类的展开状态