Salut
Dans un code qui fonctionne, je voudrais optimiser le remplissage de 2 <select>, id="indicatif1" et id="indicatif2".
Dans ma version de base j'ai 2 boucles for.
Mes 2 select se remplissent correctement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 for (i = 0; i < dataOM.length; i++) { z = document.createElement("option"); z.setAttribute("value", dataOM[i].indicatif); z.setAttribute("id", "choix" + i); t = document.createTextNode(dataOM[i].indicatif); z.appendChild(t); document.getElementById("indicatif1").appendChild(z); if (dataOM[i].indicatif == nomindicatif){numidx=i;} } document.getElementById("nbr").innerHTML = "Listage " + dataOM.length + " indicatifs"; document.getElementById("indicatif1").selectedIndex = numidx; affiche("indicatif1"); for (i = 0; i < dataOM.length; i++) { z = document.createElement("option"); z.setAttribute("value", dataOM[i].indicatif); z.setAttribute("id", "choix" + i); t = document.createTextNode(dataOM[i].indicatif); z.appendChild(t); document.getElementById("indicatif2").appendChild(z); }
Par contre si je modifie de cette façonBen là
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 for (i = 0; i < dataOM.length; i++) { z = document.createElement("option"); z.setAttribute("value", dataOM[i].indicatif); z.setAttribute("id", "choix" + i); t = document.createTextNode(dataOM[i].indicatif); z.appendChild(t); document.getElementById("indicatif1").appendChild(z); document.getElementById("indicatif2").appendChild(z); if (dataOM[i].indicatif == nomindicatif){numidx=i;} }, je n'ai que le <select> id="indicatif2" qui est rempli.
Je suis super déçu, je croyais, depuis maintenant 1 an et demi que je me suis mis au JavaScript, avoir compris le minimum des choses, bennon apparemment.
Une petite explication s'il vous plait
Partager