Quelle est la meilleure méthode pour ajouter des options à un <select>
objet JavaScript à l'aide de jQuery?
Je cherche quelque chose pour lequel je n'ai pas besoin d'un plugin, mais je serais également intéressé par les plugins qui existent.
C'est ce que j'ai fait:
selectValues = { "1": "test 1", "2": "test 2" };
for (key in selectValues) {
if (typeof (selectValues[key] == 'string') {
$('#mySelect').append('<option value="' + key + '">' + selectValues[key] + '</option>');
}
}
Une solution propre / simple:
Ceci est une version nettoyée et simplifiée de matdumsa :
$.each(selectValues, function(key, value) {
$('#mySelect')
.append($('<option>', { value : key })
.text(value));
});
Modifications par rapport à matdumsa: (1) a supprimé la balise close pour l'option à l'intérieur de append () et (2) a déplacé les propriétés / attributs dans une carte comme deuxième paramètre de append ().
value
étant une chaîne (et codée en dur), elle n'a pas besoin d'être citée.