Intereting Posts
php xpath извлекает значения атрибутов на основе нескольких атрибутов и родительских атрибутов Как заставить мой сеанс писать в apache Как установить инструмент Zend Framework 2 с композитором Больше версий VC6 для PHP 5.3.x? Ошибка синтаксиса PHP «неожиданный конец $ end» Графические координаты в PDF, отображаемые в iFrame Получить измененную дату через FTP с помощью PHP / CURL Создание и получение вызовов через GSM-модем в PHP CKEditor + Yii, загруженный AJAX: $ _POST не содержит обновленного значения Разбиение страницы на пользовательский wp_query в WordPress занимает 404 страницы ошибок Yii Framework 2.0 Загрузка файлов Ошибка finfo_file (): не удалось открыть поток: нет такого файла или каталога CakePHP: действие выполняется дважды, без уважительной причины проблема со вставкой в ​​код базы данных? Страница смешанного контента: запрошена небезопасная ошибка стилей Создать ссылку файла загрузки в PHP

jsTree асинхронный поиск – триггер загружает новые узлы

У меня хорошо работает реализация jsTree на моем проекте. Данные JSON предоставляются PHP / Ajax. У меня возникли проблемы при использовании плагина поиска.

Документация по поисковым плагинам jsTree гласит:

поэтому в вашем ответе вы должны вернуть путь к узлу (без самого узла) в качестве идентификаторов: ["#root_node", "# child_node_3"]

… поэтому функция поиска на стороне сервера возвращает путь к подобранному узлу (да, я его json_encode ):

 Array( '#1', '#2', '#3', '#5' ); // to match node #10 (leaf node) at the end 

Когда эти значения уже существуют в DOM, функция поиска на стороне клиента работает нормально, но мне не удается заставить jsTree следовать маршруту, указанному в этом массиве (или массивах), чтобы заполнить деревья, когда элементы еще не существуют (например, когда открыт только корневой узел).

Я видел подобные вопросы на Stack, но ни у кого нет ответов. Я переписываю, потому что мне нужно понять, как это работает, и не нашли много информации мимо документов плагина поиска о том, как использовать jsTree с асинхронным поиском.

По сути, я хочу, чтобы он использовал массив, возвращаемый функцией поиска, чтобы запустить событие загрузки jsTree (что-то вроде load_node_json ). Я бы подумал, что это должно работать прямо из коробки, но у меня проблемы с ним. Я почти полностью подключил код примера из документации jsTree.

Related of "jsTree асинхронный поиск – триггер загружает новые узлы"

Я понял это. Моя проблема заключалась в том, что я возвращал несколько массивов, содержащих путь к каждому подобранному узлу, например:

 Array( Array('#root', '#child', '#sub-child'), Array('#root', '#child', '#second-sub') ) 

Как оказалось, поисковый плагин jsTree ожидает только одноуровневый массив, а B будет загружать все узлы, перечисленные в этом массиве, порядок маршрутов не должен быть абсолютно точным, как может показаться в документации.

Поэтому вместо этого в моем JSON я возвращаю массив, содержащий уникальные идентификаторы узлов, например:

 Array( '#root', '#child', '#sub-child', '#second-sub' ) 

… и плагин поиска загружает узлы, как ожидалось.

Ничего особенного в конце, но я думаю, что документация jsTree должна быть более описательной в этом вопросе, поскольку я видел других с той же проблемой и ответов.