jstree get_json复制树数据

时间:2011-07-24 03:45:18

标签: jquery jstree

所以我有一个看起来像这样的jstree:


-1
-2
--2.1
--- 2.1.1
---- 2.1.1.1至2.1.1.24(如2.1.1中的24名儿童)
--- 2.1.2
---- 2.1.2.1至2.1.2.24(如2.1.1中的24名儿童)
--2.2
-3

当我生成json以便进行字符串化并发送到服务器(后期用户使用它)时,在它被发送到服务器之前我可以看到posttringify json复制了一堆数据。例如,2.1.1.1-24在2.1.1下重复两次,而2.1.1(以及2.1.1.1-24的双重复制)在字符串中稍后会重复。其他一些元素也是如此。 2.1.2重复,但2.1.2.1-24下的数据不会被欺骗两次。

因为这是我在字符串中看到的:
...
--- 2.1.1
---- 2.1.1.1至2.1.1.24(如2.1.1中的24名儿童)
---- 2.1.1.1至2.1.1.24(如2.1.1中的24名儿童)
(注意:1-24名儿童两次)

然后上面的整个块会在字符串中再次重复。

2.1.2块同样重复两次。当然,一旦它到达服务器并将字符串反序列化为对象,它就是一团糟。有什么想法吗?

var v = jQuery.jstree._reference("#tree").get_json(-1);
var mytext = JSON.stringify(v);
alert(mytext);

我可以在弹出窗口中看到所有重复的数据。它似乎在更高级别的父母之下重复儿童。一旦我反序列化,我看到重复数据的一些实例看起来像“Root”的孩子,即使所述数据是孙子/孙子。在根本上,唯一的“孩子”应该是1,2和& 3.相反,我有1,2,2.1,2.1.1(以及2.1.1.1-24)2.1.2(但奇怪的不是2.1.2.1-24),2.2& 3。

PS - 我已经在IE,Firefox和Chrome的最新版本中对此进行了测试。

1 个答案:

答案 0 :(得分:0)

发现了这个问题。我的树是从数据库自动生成的。我遗漏了我用于元素“id”的复合名称的一部分。因为这个“id”在整个文档中并不是唯一的。例如。 “Root”和2.1.1具有相同的“id”值,这就是各种元素重复的原因。