我有一个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()
)。
答案 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 ...)。