J'essaie d'utiliser JavaScript et jQuery pour générer une liste déroulante à partir des valeurs d'un élément particulier d'un tableau.

Mon tableau est défini comme une variable et ressemble à ceci:

var ht_parties = [
  {
    "id_Group": "41DC3C63-F423-4941-ACF7-63118BD9CE19",
    "name": "Ayiti An Aksyon",
    "nameAbbreviated": "AAA",
    "nameAcronym": "AAA"
  },
  {
    "id_Group": "9AF9E215-0376-460F-B69A-F380F35729CA",
    "name": "ACAAU",
    "nameAbbreviated": "ACAAU",
    "nameAcronym": "ACAAU"
  } 
]

Le code pour générer la liste déroulante est le suivant:

var select = document.getElementById("selectNumber"); 
var options = ht_parties; 

for ( var i = 0; i < options.length; i++) {
    var opt = options[i];
    var el = document.createElement("option");
    el.text = opt;
    el.value = opt;
    select.appendChild(el);
};

Je veux que la liste déroulante soit remplie avec les valeurs de l'élément de tableau "nom". Cependant, cela génère actuellement une liste déroulante avec les éléments de la liste comme "[objet objet]". Comment sélectionner uniquement l'élément «nom» dans le tableau et remplir la liste déroulante avec?

0
matt 18 juil. 2015 à 00:37

2 réponses

Meilleure réponse

Vous devez spécifier la clé sur les options que vous souhaitez définir sur les text et value de el

el.text = opt;
el.value = opt;

Doit être quelque chose comme

el.text = opt.name;
el.value = opt.name;

(ou selon les touches que vous souhaitez définir)

3
PhilVarg 17 juil. 2015 à 21:40

Utilisez ceci

var select = document.getElementById("selectNumber"); 
var options = ht_parties; 

for ( var i = 0; i < options.length; i++) {
    var opt = options[i];
    var el = document.createElement("option");
    el.text = opt.name;
    el.value = opt.name;
    select.appendChild(el);
};
0
abs 17 juil. 2015 à 21:41