Bonjour,
Je souhaite réaliser un tableau HTML contenant un formulaire. Sa particularité est l'ajout automatique de lignes lorsqu'on atteint la fin du tableau.
Ce système permettra au final à l'utilisateur d'ajouter autant d'enregistrements qu'il le souhaite dans la base de données, et ce sur une même page.
Le problème c'est que jquery, ou le javascript plus généralement, semble incapable de manipuler des éléments qu'il a creé lui même aprés le chargement de la page.
Mon tableau commence avec 3 lignes , si je clique sur la troisième une 4eme apparait. Mais la mehode jquery considère toujours la 3eme ligne comme la dernière, alors qu'il y en a 4 maintenant.
Voici le code simplifié qui me pose problème et le lien vers la page de test
Merci pour votre aide
Modifié par julienj (10 Feb 2008 - 17:16)
Je souhaite réaliser un tableau HTML contenant un formulaire. Sa particularité est l'ajout automatique de lignes lorsqu'on atteint la fin du tableau.
Ce système permettra au final à l'utilisateur d'ajouter autant d'enregistrements qu'il le souhaite dans la base de données, et ce sur une même page.
Le problème c'est que jquery, ou le javascript plus généralement, semble incapable de manipuler des éléments qu'il a creé lui même aprés le chargement de la page.
Mon tableau commence avec 3 lignes , si je clique sur la troisième une 4eme apparait. Mais la mehode jquery considère toujours la 3eme ligne comme la dernière, alors qu'il y en a 4 maintenant.
Voici le code simplifié qui me pose problème et le lien vers la page de test
<table id="tableau">
<tr>
<td><input type="text" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
</tr>
<tr>
<td><input type="text" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
</tr>
<tr>
<td><input type="text" value="click ici" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
</tr>
</table>
<div id="result"></div>
<script>
var nbligne = 3
$(document).ready(function() {
// On affiche le nombre de lignes
$("#result").html("nb ligne = " + nbligne);
//On ajoute une ligne si on clique sur la derniere ligne du tableau
$("tr:last").click(function() {
$(this).clone().insertAfter(this);
nbligne = nbligne + 1;
$("#result").html("nb ligne = " + nbligne);
});
});
</script>
Merci pour votre aide
Modifié par julienj (10 Feb 2008 - 17:16)