用JavaScript中的循环传递哈希表/字典

Passing Hash Table/Dictionary with a loop in JavaScript

本文关键字:哈希表 字典 循环 JavaScript      更新时间:2023-09-26

但是,我想将一个"ID"传递到选项"value"字段中,并将相应的字符串作为选项文本。

因此,如果Black=1,White=2,Blue=3的ID,那么html将看起来像这样:

<option value ='1'> Black </option>

这个JSFiddle类似于我试图实现的目标:

http://jsfiddle.net/e6hzj8gx/4/

除了我只想发送值并使用密钥调用它。

我基本上是用Django构建一个下拉列表,它取决于用户在另一个下拉菜单中选择的内容——Django中并没有真正优雅的方法来实现这一点,而且似乎可以将我的数据序列化为json,然后使用javascript构建下拉列表。

我的Django数据只是一条格言:

data = {1: 'Black', 2 = 'White', 3 = 'Blue'}

有几种方法可以循环遍历javascript对象。使用解析的JSON对象时,可以使用:

for (var propName in obj) {
  // access data using obj[propName]
}

在更复杂的情况下,您可能需要使用检查属性是否不是从其他原型继承的

if (obj.hasOwnProperty(propName) { /* ... */ }

此外,您可以使用document.createElement("option") 创建DOM元素

总之,它将是这样的:

var obj = JSON.parse(serverData);
for (var propName in obj) {
  var jsonValue = obj[propName];
  if (jsonValue && (typeof jsonValue === "string")) {
    var option = document.createElement("option");
    option.value = propName;
    option.innerText = jsonValue;
    // Add created option to a select element
    // ...
  }
}

如果我答对了你的问题,请告诉我。。。