我有一个数据结构,我不知道如何正确管理它。 我必须使用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