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 :
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);
 
}
Pour chaque élément de la liste les variables nom, id et famille ont une valeur différente.
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 :

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>
Comment pourrais je faire pour que ce paramètre varie aussi ?

Merci

(en espérant avoir étais clair)