jsTree get_json函数

时间:2011-07-06 11:24:33

标签: javascript jquery json jstree

我有一个jstree树,我正在尝试提取使用get_json的结构(为了将其发回服务器),但我似乎没有在返回的对象中获取任何树信息。 / p>

树已设置并正常运行

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

(上面排除的是我提供的json(来自第一个演示here)来设置树)我正在使用

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"}

当然我应该在这里获得树状结构?我做错了什么?

更新

最终跟踪到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")还是{{1}都没有任何区别我总是得到与上面相同的意外输出(.jstree())。

2 个答案:

答案 0 :(得分:1)

请参阅以下网址

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

<强>更新

使用以下代码,您可以为$,

声明一个替代变量
          var $j = jQuery.noConflict();

然后使用$ j代替jQuery而不是$。

如果这是冲突问题,上面将解决它。通常,如果使用除Jquery库之外的外部库,则会发生冲突。

注意:请确保在其他库之后包含jQuery1.6.2.js,因此它知道要将$返回的内容。

希望这可以帮助你...

答案 1 :(得分:0)

最终跟踪到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()都没有任何区别,我总是得到与上面相同的意外输出({“长度”:1 ...)。