Bonjour,
j'ai dans un tableau une liste d'élément (obtenu avec une requête en AJAX), et je souhaiterai pour chaque élément créer une ligne dans un tableau avec 2 cellules, dans la première un lien avec un onclick() qui appelle une fonction javascript dans la page, et une deuxième cellule avec uniquement du texte.
J'ai un problème avec le lien, je sais pas trop comment expliquer ça, voici le code :
Pour chaque élément de la liste les variables nom, id et famille ont une valeur différente.
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
21
22
23
24
25
26
27
28
29
30 while (i < long) { // on récupère les infos du noeud courant dans le xml var id = listeIng[i].getElementsByTagName("id")[0].firstChild.nodeValue; var nom = listeIng[i].getElementsByTagName("nom")[0].firstChild.nodeValue; var famille = listeIng[i].getElementsByTagName("famille")[0].firstChild.nodeValue; i++; // ligne var row = document.getElementById("liste_ing_small").insertRow(-1); // cell 1 var TD_nom = row.insertCell(-1); TD_nom.className = 'col_ing'; // lien vers ajout var lien = document.createElement("a"); lien.href = "#"; lien.onclick = function(){ajout(id)}; var TXT_nom = document.createTextNode (nom); lien.appendChild (TXT_nom); TD_nom.appendChild(lien); // cell 2 var TD_fam = row.insertCell(-1); var TXT_fam = document.createTextNode (famille); TD_fam.className = 'col_famille'; TD_fam.appendChild (TXT_fam); }
Pas de problème pour la cellule 2, sur chaque ligne j'affiche une valeur différente.
Par contre pour le lien onclick, le lien se créé bien, mais le paramètre "id" est toujours le même, c'est le dernier de la liste.
Un exemple, si j'ai 3 éléments :
id=1, nom=nom1, fam=fam1
id=2, nom=nom2, fam=fam2
id=3, nom=nom3, fam=fam3
Les 3 lignes que je rajoute seront comme ça :
Comment pourrais je faire pour que ce paramètre varie aussi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <tr> <td><a href="#" onclick="ajout(3)">Nom1</a></td> <td>Fam1</td> </tr> <tr> <td><a href="#" onclick="ajout(3)">Nom2</a></td> <td>Fam2</td></tr> <tr> <td><a href="#" onclick="ajout(3)">Nom3</a></td> <td>Fam3</td> </tr>
Merci
(en espérant avoir étais clair)
Partager