問題

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()内のオプションのcloseタグを削除し、(2)append()の2番目のパラメータとしてプロパティ/属性をマップに移動しました。

  ベストアンサー

jQueryの方法では、他の回答と同じです。

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

  同じタグがついた質問を見る

javascriptjqueryarrayshtml-select