0

我有一个对象

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

4

3 回答 3

1

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

于 2013-03-06T02:57:08.577 回答
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);
}
于 2013-03-06T02:57:08.960 回答
0

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

option.text = myObject[item];
option.value = item;
于 2013-03-06T03:00:54.280 回答