2011-07-24 65 views
0

所以我有一个jstree,看起来像这样:jstree get_json复制树数据


-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
-3

当我生成json以便进行字符串化并发送到服务器(post用户使用它)时,在将其发送到服务器之前,我可以看到post stringify 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(如在24岁以下的儿童2.1.1 )
---- 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); 

我可以在弹出窗口中看到所有重复的数据。它似乎是在更高层次的父母之下复制儿童。一旦我反序列化,我发现那些重复数据的一些实例显示为“根”的孩子,即使所述数据是大孩子/孙辈。在根目录下,唯一的“孩子”应该是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中测试过了。

+0

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

回答

0

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