我正在使用jquery treetable插件将我的数据显示为表格中的树视图。我在网上找到关于这个插件的详细文档。我需要的是,如果用户扩展sum节点,然后他重新打开或刷新页面,节点扩展shud处于其先前状态(即扩展shud的节点保持扩展而不是折叠到其父节点)。在这个阶段我有节点名称扩展,存储在cookie但我不知道如何搞乱这个jQuery插件,因为我没有掌握jQuery语法。这个插件中有一个函数
// Reveal a node by expanding all ancestors
$.fn.reveal = function() {
$(ancestorsOf($(this)).reverse()).each(function() {
initialize($(this));
$(this).expand().show();
});
return this;
};
我认为这可能对实现我的目标有用...但我不知道如何使用它,或者改变它或从中调用它:S
答案 0 :(得分:3)
我最初开始使用此插件,并喜欢将其他数据移动到其他列(如文件大小或说明)的功能。我把它全部撕掉了因为我喜欢语义嵌套的ul结构。它最终拥有很多很棒的功能,包括COOKIE支持。如果您愿意放弃表视图,我也会考虑切换。这是演示页JSTREE DEMOS。我认为最后一个使用cookie插件。将侦听器添加到其中许多事件的能力也非常强大。我在半天的工作中得到了拖放基于MySQL的文件系统设置。我最终不得不删除一些插件(包括上下文菜单......让用户右键单击以重命名/删除/等..),因为它有太多的功能!
代码片段显示插件并添加好的事件侦听器:
$("#demo")
.bind("before.jstree", function (e, data) {
$("#alog").append(data.func + "<br />");
})
.jstree({
// List of active plugins
"plugins" : [
"themes","json_data","ui","crrm","cookies","dnd",
"search","types","hotkeys","contextmenu"
],
答案 1 :(得分:1)
得到它......只需从javascript中调用存储在cookie中的所有元素的$(nodeElement).reveal()
('nodeElement'来自cookie),然后在下次刷新时,所有元素都将处于以前的状态
答案 2 :(得分:0)
$('#treetable').treetable({ expandable: true, initialState: 'Expand' }, true);