Clé d'une boucle garde la valeur de sortie
Bonjour,
Tout d'abord voici le code :
Code:
1 2 3 4 5 6
| $int = [];
//je récupère la valeur des id des input contenus dans la div #div
for($i = 1; $i <= $('#div').children().length; $i++){
$int.push($('#int div:nth-child('+$i+') input').attr('id'));
}
alert($int);//retourne : element1,element2,element3 |
Code:
1 2 3 4 5 6 7
| //je crée un événement à chaque élément de int[]
for($j = 0; $j < $int.length; $j++){
alert($j); //retourne bien 0 puis 1 puis 2
$('#'+$int[$j]).click(function(){
alert('j=' + $j + ' id=' + $int[$j]); //mais ici j'obtiens : "j=3 id=undefined"
});
} |
Pourquoi $j prend la valeur de sortie de la boucle à l'intérieur de ma boucle for ? A cause d'un déclaration de fonction .click() ? Si oui, comment y remédier ? Merci.