Probleme sur onclick [Résolu]

Signaler
Messages postés
34
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
20 octobre 2008
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour à tous,

voila j'ai un probleme bizarre,
lorsque je fait ceci :

for(var i=0;i!=3;i++)
{
    var td = tr.insertCell(-1);
    td.onclick = function() { change_ordre(i); };
}

function change_ordre(ind)
{
      alert(ind);
}

Quand je clique sur un des td, l'alert m'affiche toujours 9 (alors que i est sencé aller de 0 à 2...).
Quelle erreur ai-je pu faire ?

Marci d'avance !

5 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
Bonjour,
problème bien connu sur ce forum...
essaies ceci...
for(var i=0;i!=3;i++){

  var td = tr.insertCell(-1);
  td.Num = i; //
affectation d'un Indice
  td.onclick = function() { change_ordre(
this.Num); };
}
sauf erreur ou omission...
;O)
Messages postés
34
Date d'inscription
samedi 19 novembre 2005
Statut
Membre
Dernière intervention
20 octobre 2008
1
Merci !

Je ne connaissait pas cet attribut 'Num'
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
Bonjour,
    simplement pour dire que si tu met "toto" à la place de "Num"....
    ben ça baigne aussi    ;o)  
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
16
Bonjour à tous,
en fait c'est la variable, locale
donc son adresse, i et non sa valeur qui est transmise au moment de
l'affectation de la fonction sur le onclick.
L'ajout de n'importe quelle
propriété à la volée d'un objet est autorisée, profitons en !!!
;O)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
>>L'ajout de n'importe quelle propriété à un objet est autorisé
    tout est dit.
    ah... qu'en termes savants ces choses-là sont dites   ( ékikadiça ? dans quoi ? )     ;o)
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]