使用for循环关闭对象填充下拉列表

时间:2013-03-06 02:54:23

标签: javascript

我有一个对象

var myObject = { 3: 'Three', 6: 'Six'};

我想在下拉列表中填充这些值,如下所示:

var statusDropdown = document.createElement('select');
for (var item in myObject ) {
    var option = document.createElement("option");
    option.text = item.value; //this is undfined item = "Three", or "Six" 
    option.value = item.key; //this is undfined item = "Three", or "Six" 
    statusDropdown.options.add(option);
}

对于in似乎要走了,但我正在努力做关键和价值而不仅仅是价值。这样我就可以将第一个下拉选项的键设置为3,第二个

设置为6

3 个答案:

答案 0 :(得分:1)

这有点令人困惑,但item实际上将保存到当前属性,而不是实际属性本身。使用myObject[item]可以解决问题。

答案 1 :(得分:1)

for (var item in myObject )中,item是关键,值将在myObject[item]。所以:

for (var item in myObject ) {
    var option = document.createElement("option");
    option.text = myObject[item];
    option.value = item; 
    statusDropdown.options.add(option);
}

答案 2 :(得分:0)

for循环中的代码应该是这样的。

option.text = myObject[item];
option.value = item;