Я использую jsTree и jsTree Grid, и данные во втором столбце исчезают.

У меня есть один столбец в jsTree Grid, представляющий мое дерево. Второй столбец используется для отображения «тегов», связанных с каждым узлом. Он отлично отображается, пока я не нажму на другой уровень.

Таким образом, второй столбец создаст div, и мои теги (аналогичные тегам переполнения стека) будут добавлены к этому элементу html.

Вот проблема, когда страница загружается впервые. Я прекрасно вижу корневой узел и «теги», связанные с корневым узлом, которые я определил во втором столбце. Выглядит отлично!

Когда я нажимаю, чтобы развернуть корневой узел, чтобы перейти на следующий уровень. Я теряю теги, связанные с корневым узлом. Я хочу сохранить их, но не могу понять, почему сетка их теряет.

РЕДАКТИРОВАТЬ:

Удален код и изображения.


person Envin    schedule 20.12.2012    source источник
comment
Можете ли вы дать нам более полный пример данных json?   -  person brianpeiris    schedule 21.12.2012
comment
Я добавил еще одну функцию в этот пост, чтобы показать, как мой JSON вызывается с сервера и преобразуется в другую форму JSON для дерева. mapNameTag предназначен исключительно для представления тегов, которые у меня есть рядом с каждым узлом во втором столбце. Это может быть список значений, разделенных запятыми, и он будет отображаться в виде тегов.   -  person Envin    schedule 21.12.2012
comment
Я не просматриваю значения сетки, когда перехожу на более глубокий уровень... jsfiddle.net/radek/4fTDq   -  person Radek    schedule 21.12.2012


Ответы (1)


Проблема в том, что плагин jsTreeGrid перерисовывает ячейки при развертывании узла. Поскольку вы добавляете свои теги только во время событий «loaded» и «select_cell», теги исчезают.

Вы можете обойти это, повторно добавив теги к большему количеству событий:

.bind("open_node.jstree create_node.jstree clean_node.jstree change_node.jstree", function (event, data) { 
    doDisplayTags(mapNameTag);
})
person brianpeiris    schedule 20.12.2012