Quelle est la meilleure façon d'ajouter des options à une sélection en tant qu'objet JavaScript avec jQuery?


Darryl Hein:

Quelle est la meilleure méthode pour ajouter des options à un <select>objet JavaScript à l'aide de jQuery?

Je recherche quelque chose pour lequel je n'ai pas besoin de 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));
});

Changements par rapport à matdumsa: (1) a supprimé la balise de fermeture pour l'option dans append () et (2) a déplacé les propriétés / attributs dans une carte en tant que deuxième paramètre de append ().

matdumsa:

Identique aux autres réponses, de manière jQuery:

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

Articles connexes