【发布时间】:2023-03-20 23:26:01
【问题描述】:
使用 jQuery 从 JavaScript 对象向<select> 添加选项的最佳方法是什么?
我正在寻找一些我不需要插件来做的事情,但我也对那里的插件感兴趣。
这就是我所做的:
selectValues = { "1": "test 1", "2": "test 2" };
for (key in selectValues) {
if (typeof (selectValues[key] == 'string') {
$('#mySelect').append('<option value="' + key + '">' + selectValues[key] + '</option>');
}
}
干净/简单的解决方案:
这是一个经过清理和简化的version of matdumsa's:
$.each(selectValues, function(key, value) {
$('#mySelect')
.append($('<option>', { value : key })
.text(value));
});
与 matdumsa 的更改:(1) 删除了 append() 中选项的关闭标记,(2) 将属性/属性作为 append() 的第二个参数移动到映射中。
【问题讨论】:
-
也许有帮助:texotela.co.uk/code/jquery/select(在我偶然发现这个问题后,这对我很有帮助)
-
上面列出的清理版本仅适用于 Jquery 1.4+。对于旧版本,请使用 matdumsa 的答案中的那个
-
{ value : key } 应该是 { "value" : key } 如 matdumsa 的回答所示。
-
我不这么认为,因为
value是一个字符串(并且是硬编码的),它不需要被引用。 -
标题应该改为“使用 jQuery 从 JSON 对象中添加选项的最佳方法是什么?
标签: javascript jquery html-select