MongoDB架构
{
"title": "my_title",
"myArray": ["1","2","3","4","5"]
}
Firebug响应
{"myArray": ["1", "2", "3", "4", "5"]}
所需行为
data-thing
和第一个li class
的值是动态的,其中值来自数据库数组。迭代此数组会生成一个包含动态值的li
列表。
生成的HTML应为:
<li data-thing="1" class="prefix_1">
<ul class="nested">
<li class="hidden_li">
<p class="thing2">text</p>
</li>
</ul>
</li>
其次是:
<li data-thing="2" class="prefix_2"> etc.
的jQuery
$.getJSON("/path", {cid: href, format: 'json'}, function(myArray){
$.each(myArray, function(k,v) {
$("ul.class1").append("<li data-thing=\"" + v + "\" class=\"prefix_" + v + "\"><ul class=\"nested\"><li class=\"hidden_li\"><p class=\"thing2\">text</p></li></ul></li>");
});
})
当前行为
<li class="prefix_1,2,3,4,5" data-thing="1,2,3,4,5">
<ul class="nested">
<li class="hidden_li">
<p class="thing2">text</p>
</li>
</ul>
</li>
的jsfiddle
http://jsfiddle.net/rwone/M9e8N/4/
(显示静态数组的所需结果)。
问题
使用静态数组时,我得到了所需的行为,但是当我使用getJSON()
从数据库中获取数组时,我得不到所需的结果。
因此我认为我在jQuery中错误地引用了数组,并且迭代没有按预期发生?
答案 0 :(得分:0)
<强>解决方案强>
$.each(myArray.myArray, function(k,v) { ...
我必须在数据库文档中引用密钥名称。
第一个myArray
是返回getJSON()
的结果的名称,第二个.myArray
是对数据库文档中的键名称的引用。