Гугл выдает множество вариантов, но некоторые вовсе не решают проблему, другие частично. Родная функция для получения списка выделенных узлов не подходит, т.к. отдает одноуровневый массив айдишников.
Мне же необходимо соблюсти вложенность. Моя реализация выглядит так —
jsfiddle.net/DrqRu/
Функцию вызываю по событию
.on. На статичном дереве все хорошо. А вот в проекте дерево динамичное. Новые узлы подгружаются аяксом при открытии узла.
И вот тут картина следующая:
1. Корневой узел свернут. Открываю всех его детей. Они подгрузились аяксом. Выделяю чекбоксом корневой, выделяются все дети. Отправляю дерево на экспорт. Мой массив выглядит так как мне нужно.
2. Корневой узел свернут. Выделяю его чекбоксом. Запускается функция
$(tree).jstree("open_all",'отмеченный узел');<br>
, которая раскрывает всех детей(подгружает аяксом). Затем все открытые дети выделяются автоматически(так как был выделен их предок). Жму на экспорт. Подгруженные(и в то же время выделенные) дети не пошли в массив.
Что я делаю не так?