我有一个像这样的JSON对象:
{"versions":{
"stable":["1.0","1.1"],
"work_in_progress":["wip"],
"branches":["branch1.0","branch1.1"]
}
通过jQuery,我试图将这些数据添加到下拉列表中。我正在迭代“版本”对象的键,将每个键添加为“optgroup”;然后在每个键的数组上进行迭代,并将其作为选项添加到“optgroup”。
渲染时,每个数组的第一个选项都会丢失!
if(items) {
$.each(items, function(key, value) {
console.log(key);
var optGroup = $("<optgroup/>");
optGroup.attr('label', key);
$.each(value, function(index, item) {
console.log("--"+item);
optGroup.append($("<option/>").val(item).text(item));
});
selObj.append(optGroup);
});
}
其中“items”是“版本”。
在控制台中,我看到所有内容都正确打印出来:
"stable"
--"1.0"
--"1.1"
"work_in_progress"
--"wip"
"branches"
--"branch1.0"
--"branch1.1"
但在下拉列表中,“稳定”的optgroup有1.1; “work_in_progress”optgroup什么也没有,“branches”optgroup只有“branch1.1”
为什么会发生这种情况?!