Qual é o melhor método para adicionar opções a um <select>
objeto JavaScript usando jQuery?
Estou procurando algo que não precise de um plug-in para fazer, mas também estaria interessado nos plug-ins disponíveis.
Isto é o que eu fiz:
selectValues = { "1": "test 1", "2": "test 2" };
for (key in selectValues) {
if (typeof (selectValues[key] == 'string') {
$('#mySelect').append('<option value="' + key + '">' + selectValues[key] + '</option>');
}
}
Uma solução limpa / simples:
Esta é uma versão limpa e simplificada do matdumsa's :
$.each(selectValues, function(key, value) {
$('#mySelect')
.append($('<option>', { value : key })
.text(value));
});
Alterações de matdumsa: (1) removeu a tag close da opção dentro de append () e (2) moveu as propriedades / atributos para um mapa como o segundo parâmetro de append ().
value
nisso, uma vez que é uma string (e codificada) que não precisa ser citada.