1

我正在使用 jquery treetable 插件将我的数据显示为表中的树视图。我力图在网上找到有关此插件的详细文档。我需要的是,如果用户扩展总和节点,然后他重新打开或刷新页面,节点扩展应处于其先前状态(即已扩展的节点保持扩展状态而不是折叠到其父节点中)。在这个阶段,我有要扩展的节点名称,存储在 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 调用它

4

3 回答 3

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"
    ],
于 2011-07-11T15:01:55.937 回答
1

明白了...只需$(nodeElement).reveal()从 javascript 调用存储在 cookie 中的所有元素('nodeElement' 来自 cookie),然后在下一次刷新时,一切都将处于以前的状态

于 2011-07-14T13:02:57.453 回答
-1
$('#treetable').treetable({ expandable: true, initialState: 'Expand' }, true);
于 2015-09-25T07:28:19.690 回答