我有一個數據結構,我不知道如何正確管理它。 我必須使用Dojo,所以我選擇了JSON來解決這個問題。 我在說的結構是在這篇文章的底部。在閱讀以下文字之前請檢查它。複雜的JSON結構+ Dojo選擇
問題:我必須有3個選擇。第一個選擇將包含「第一級」(a,b,c)。第二個將包含「第二級」(aa,ab,...)等。
每個Select中的數據(第一個除外)中的數據應根據前一個Select中選擇的內容而有所不同。
例如,如果我在第一個選擇中選擇「a」,我應該只在第二個選擇中看到「aa,ab,ac」。那麼如果我在第二個選擇「ac」,我應該只看到「aca,acb,acc」。
請注意,有些情況下沒有「第三級」。在這種情況下,應該隱藏第三個選擇(如果它太難管理,則只能爲空)。
現在的參考。如果我在第一個選擇中選擇「d」,我應該只看到「aa,bc,ca」作爲第二個選擇的選項。然後,如果我在第二個選擇中選擇「cc」,我應該在第三個選擇中看到「cca,ccb,ccc」。當然,這不應該是靜態的。在我的例子中,如果「c - > cc」子樹會改變,「d - > cc」的內容也應該改變。
現在的問題:
1)我如何像使用Dojo的工作?如果是香草JS,這對我來說顯而易見,但我無法想象如何使它適用於所有這些對象商店等等。
2)我如何讓參考文獻適用於這種結構?我可以使它在一個簡單的JSON上工作,但當它變得如此複雜時,我完全失去了。
3)我如何呈現結構?作爲一個單一的JSON?或者我應該把它分成幾個部分?
提前致謝!
a
aa
aaa
aab
ab
aba
ac
aca
acb
acc
b
ba
bb
bc
bca
c
ca
caa
cab
cb
cba
cbb
cc
cca
ccb
ccc
d
<ref to aa subtree>
<ref to bc subtree>
<ref to ca subtree>
非常感謝您的努力。然而,當我嘗試在我的機器上運行它時,我有一個奇怪的問題。它說registry.byId(第一次)沒有在ready函數中定義。 – ohyou 2015-03-13 10:46:43
您是否從答案或從我提供的JSFiddle複製/粘貼代碼?你應該看看你是否在'require()'中包含''dijit/registry''。 – g00glen00b 2015-03-13 10:56:18
這是從jsfiddle。註冊表在那裏,從外部就緒功能中看到。 – ohyou 2015-03-13 11:58:17