Quelle est la meilleure méthode pour ajouter des options à un fichier <select>
à partir d'un objet JavaScript en utilisant jQuery ?
Je cherche quelque chose qui ne nécessite pas de plugin, mais je suis é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 et simple :
Il s'agit d'une version nettoyée et simplifiée version de matdumsa :
$.each(selectValues, function(key, value) {
$('#mySelect')
.append($('<option>', { value : key })
.text(value));
});
Modifications par rapport à celles de matdumsa : (1) suppression de la balise close pour l'option dans append() et (2) déplacement des propriétés/attributs dans une map en tant que second paramètre de append().
4 votes
Peut-être de l'aide : texotela.co.uk/code/jquery/select (c'était une aide pour moi après que je sois tombé sur cette question)
2 votes
La version nettoyée ci-dessus ne fonctionne qu'avec Jquery 1.4+. Pour les versions plus anciennes, utilisez celle qui se trouve dans la réponse de matdumsa
0 votes
{ value : key } devrait être { "value" : key } comme vu dans la réponse de matdumsa.
0 votes
Je ne le crois pas puisque
value
est une chaîne (et codée en dur), elle n'a pas besoin d'être citée.0 votes
Peut-être que cela vous aidera - kvcodes.com/2016/10/
1 votes
Le titre devrait plutôt être "Quelle est la meilleure façon d'ajouter des options à une sélection à partir d'un objet JSON avec jQuery ?