2011-07-24 67 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」值,這就是各種元素得到重複的原因。