使用jQuery将选项添加到JS对象的最佳方式是什么?

使用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>');
  }
}

干净/简单的解决方案:

这是matdumsa的清理和简化版本:

$.each(selectValues, function(key, value) {
     $('#mySelect')
          .append($('<option>', { value : key })
          .text(value));
});

matdumsa的变化:(1)删除append()和(2)中选项的close标签,将属性/属性作为append()的第二个参数移动到地图中。


与其他答案一样,使用jQuery时尚:

$.each(selectValues, function(key, value) {   
     $('#mySelect')
         .append($("<option></option>")
                    .attr("value",key)
                    .text(value)); 
});

var output = [];

$.each(selectValues, function(key, value)
{
  output.push('<option value="'+ key +'">'+ value +'</option>');
});

$('#mySelect').html(output.join(''));

通过这种方式,您只需“触摸DOM”一次。

我不确定是否可以将最新的行转换为$('#mySelect')。html(output.join('')),因为我不知道jQuery内部结构(也许它在html()中进行了一些解析)方法)


这是更快,更干净。

$.each(selectValues, function(key, value) {
    $('#mySelect').append($("<option/>", {
        value: key,
        text: value
    }));
});
链接地址: http://www.djcxy.com/p/9425.html

上一篇: What is the best way to add options to a select from as a JS object with jQuery?

下一篇: Run a multiprocessing job with Python 2.7 / Windows