Qual è il metodo migliore per aggiungere opzioni a <select>
da un oggetto JavaScript usando jQuery?
Sto cercando qualcosa che non ho bisogno di un plugin da fare, ma sarei anche interessato ai plugin che sono là fuori.
Questo è quello che ho fatto:
selectValues = { "1": "test 1", "2": "test 2" };
for (key in selectValues) {
if (typeof (selectValues[key] == 'string') {
$('#mySelect').append('<option value="' + key + '">' + selectValues[key] + '</option>');
}
}
Una soluzione pulita / semplice:
Questa è una versione pulita e semplificata di matdumsa :
$.each(selectValues, function(key, value) {
$('#mySelect')
.append($('<option>', { value : key })
.text(value));
});
Modifiche da matdumsa: (1) ha rimosso il tag di chiusura per l'opzione all'interno di append () e (2) ha spostato le proprietà / attributi in una mappa come secondo parametro di append ().
value
è una stringa (e hard coded) non ha bisogno di essere quotata.