我一直有问题迭代一些JSON以放入选择选项
(顺便说一句,忽略“标签”的实际值,那些是垃圾atm)。
以下是我的php传入此示例的一个示例:
[{"value":"1","label":"04-22-12"},{"value":"4","label":"04\/04\/12"}]
我正在尝试这个循环: *注意,dateSelect在其他地方定义
for (res in JSON.parse(request.responseText)) {
var date = document.createElement("option");
date.value = res.value;
date.text = res.label;
dateSelect.add(date, null);
}
但是,它在我的选项中添加了“undefined”... 我如何获得它,以便正确地放入每个值和相应的标签?
答案 0 :(得分:4)
你有一个数组,所以不要for-in
。
在您的代码中,res
是string
形式的属性名称(在本例中为Array的索引),因此属性为寻找不会在字符串上定义。
这样做......
for (var i = 0, parsed = JSON.parse(request.responseText); i < parsed.length; i++) {
var res = parsed[i];
var date = document.createElement("option");
date.value = res.value;
date.text = res.label;
dateSelect.add(date, null);
}