jQuery treeTable сохранение состояния при обновлении страницы - PullRequest
1 голос
/ 11 июля 2011

Я использую плагин 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

Ответы [ 3 ]

3 голосов
/ 11 июля 2011

Первоначально я начал использовать этот плагин, и мне понравилась возможность перемещать дополнительные данные в другие столбцы (например, размеры файлов или описания).Я разорвал все это, потому что мне понравилась семантическая вложенная структура 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 голос
/ 14 июля 2011

получил ... просто вызовите $(nodeElement).reveal() из javascript для всех элементов, хранящихся в cookie («nodeElement» происходит из cookie), и при следующем обновлении все будет в своем предыдущем состоянии

0 голосов
/ 25 сентября 2015
$('#treetable').treetable({ expandable: true, initialState: 'Expand' }, true);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...