C'est grave docteur ?? probleme fondamental de variable

Résolu
Di0b Messages postés 2 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 29 mars 2010 - 26 mars 2010 à 18:05
Di0b Messages postés 2 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 29 mars 2010 - 29 mars 2010 à 11:17
Bonjour a tous et merci d'avance a ceux qui prendront le temps de me lire/répondre.


Mon probleme est assez simple en fait le but de ce code est la création d'un menu entierement dynamique ou les infos sont récupérer via php/mysql c'est plus precisement la partie qui doit lié le bouton a le fonction qui va afficher le contenu:

@menu_tab contient les references des objets crée avec le framework.
@.node.onclick affecte une fonction


for(i)(0,i<4,i++){
menu_tab[i].node.onclick = function(){
alert(i);
}
}

j'aimerais donc que suivant le noeud selectionné j'obtienne
alert(0)
alert(1)
alert(2)
alert(3)

or l'affectation reste i cad
alert(4)
alert(4)
...

la solution serait de fixé la valeur du i et non de lié la variable.

Je ne veut pas le coder a la main car le but du site que je développe est d'être entièrement dynamique.

Peut-etre est-ce lié au framework que j'utilise?
J'espere avoir été assez clair merci d'avance pour vos reponses.

Cordialement,
di0b

3 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
28 mars 2010 à 22:23
Bonjour,
tout d'abord merci pour le titre qui n'a peut de rapport avec le sujet
je te fais la même réponse que j'ai faite il y peu sur le forum
el.onclick = function(param){};
...une solution consiste à ajouter une propriété à l'objet et à l'utiliser dans la fonction, un petit exemple ci après
for( var i = 0; i < 4; i++){  // bonne syntaxe pour une boucle
  var Obj = menu_tab[i].node;
  Obj.Index = i;
  Obj.onclick = function(){
    alert( this.Index);
  }
}

;O)
3
jdmcreator Messages postés 647 Date d'inscription samedi 30 décembre 2000 Statut Membre Dernière intervention 20 juillet 2012 7
27 mars 2010 à 14:34
Je ne comprend pas'^^

JDMCreator
--------
Participez au nouveau projet : la wiki sur le javascript !
fr.jsinfo.wikia.com
0
Di0b Messages postés 2 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 29 mars 2010
29 mars 2010 à 11:17
merci merci merci merci merci

Tu viens de me sauver des heures de galères la ...
0