猿问

用jQuery向SELECT作为JS对象添加选项的最佳方法是什么?

用jQuery向SELECT作为JS对象添加选项的最佳方法是什么?

<select>来自使用jQuery的JavaScript对象?

我正在寻找的东西,我不需要一个插件来做,但我也会感兴趣的插件,是外面的。

我就是这样做的:

selectValues = { "1": "test 1", "2": "test 2" };for (key in selectValues) {
  if (typeof (selectValues[key] == 'string') {
    $('#mySelect').append('<option value="' + key + '">' + selectValues[key] + '</option>');
  }}

一个干净/简单的解决方案:

这是一个经过清理和简化的马特姆萨的版本:

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

来自matdusa的更改:(1)删除了append()内选项的关闭标记,(2)将属性/属性作为append()的第二个参数移到映射中。


婷婷同学_
浏览 595回答 3
3回答

慕无忌1623718

与其他答案一样,用jQuery的方式:$.each(selectValues,&nbsp;function(key,&nbsp;value)&nbsp;{&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$('#mySelect') &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.append($("<option></option>") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.attr("value",key) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.text(value));&nbsp;});

人到中年有点甜

var&nbsp;output&nbsp;=&nbsp;[];$.each(selectValues,&nbsp;function(key,&nbsp;value){ &nbsp;&nbsp;output.push('<option&nbsp;value="'+&nbsp;key&nbsp;+'">'+&nbsp;value&nbsp;+'</option>');});$('#mySelect').html(output.join(''));以这种方式,您“触摸DOM”只有一次。
随时随地看视频慕课网APP
我要回答