Bonjour,

J'ai créé une boucle qui sert à créer des items de menu. La structure du menu est inscrire dans un objet appelé "data" qui contient pour chaque item de l'information donc "clic" qui indique le code à exécuter sur l'évènement "click".

Voici l'extrait de mon code qui pose problème :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
	for(i in data) {
		var id = "mnu"+i;
		var menubtn = $("<a>");
		$(menubtn).addClass("v3_menubtn");
		$(menubtn).css({"width":btn_width+"px"});
		$(menubtn).attr({"id":id,"title":data[i].title,"href":"javascript:void(0);"});
		var menuimg = $("<img>");
		$(menuimg).attr({"src":data[i].img,"border":"0"});
		$(menubtn).append(menuimg, "<br />", data[i].label);
		$(menubar).append(menubtn);
		$("#"+id).bind("click", function(e) { eval(data[i].clic); }); //ICI!!!
		delete(menubtn);
		delete(menuimg);
	}
Tout fonctionne très bien et chaque bouton se voit vraiment attibuer un code différent mais à chaque tour dans la boucle, la fonction bind() vient appliquer le comportement à tous les boutons déjà en place à chaque fois. Comme vous le vopyez, j'ai tenté de fonctionner avec un ID mais rien à faire. Quelqu'un pourrait m'aider?