функция jsTree get_json - PullRequest
       14

функция jsTree get_json

0 голосов
/ 06 июля 2011

У меня есть дерево jstree, которое я пытаюсь извлечь из структуры с использованием get_json (чтобы отправить его обратно на сервер), но, похоже, я не получаю никакой информации о дереве в возвращаемом объекте.

Дерево настроено и работает правильно в

$("#site-structure-container").jstree({plugins : ["themes", "json_data"]});

(за исключением приведенного выше json, который я предоставил (из первой демонстрации здесь ) для настройки дерева), и я использую

data = $("#site-structure-container").jstree("get_json", -1);
console.log(JSON.stringify(data));

чтобы проверить, что извлечено. Вот что показано в журнале:

{"length":1,"0":{"jQuery16203561271743551655":3},"context":{"jQuery16203561271743551655":1},"selector":"#site-structure-container"}

Конечно, я должен получить здесь древовидную структуру? Что я делаю не так?

UPDATE:

В итоге отследили его до версии jQuery. 1.6.2 (которую я использовал), похоже, не работает так же, как от 1.4 до 1.6.1. Переключение на любой 1.4 к 1.6.1 означает, что я получаю ожидаемый результат, т.е.

[{"data":{"attr":{},"title":"A node","icon":"checkbox"},"attr":{"id"...

Я точно не знаю, что происходит с 1.6.2+, но я обнаружил, что не имеет значения, использую ли я .jstree("get_json") или .jstree("blahblah") или .jstree(), я всегда получаю тот же неожиданный вывод, что и выше ({"length":1...).

Ответы [ 2 ]

1 голос
/ 06 июля 2011

См. Следующий URL,

http://javahunter.wordpress.com/2011/02/26/jquery-tree-using-json-as-dataset/

UPDATE

Используйте следующий код, вы можете объявить альтернативную переменную для $,

          var $j = jQuery.noConflict();

Тогда используйте $ j для jQuery вместо $.

Если это конфликтная проблема, вышеупомянутые решат ее. Обычно конфликты возникают, если используется внешняя библиотека, отличная от библиотеки Jquery.

примечание: обязательно включите jQuery1.6.2.js после другой библиотеки , поэтому он знает, что вернуть $.

Надеюсь, это поможет вам ...

0 голосов
/ 07 июля 2011

В конце концов отследили его до версии jQuery. 1.6.2 (которую я использовал), похоже, не работает так же, как 1.4 - 1.6.1. Переключение на любой 1.4 к 1.6.1 означает, что я получаю ожидаемый результат, т.е.

[{"data":{"attr":{},"title":"A node","icon":"checkbox"},"attr":{"id"...

Я не знаю точно, что не так с 1.6.2, но я обнаружил, что не имеет никакого значения, использую ли я .jstree("get_json") или .jstree("blahblah") или .jstree(), я всегда получаю одно и то же неожиданный вывод, как указано выше ({"length": 1 ...).

...