Bonjour,
je n'arrive pas a transmettre correctement une variable dans une fonction anonyme.
voilà le code simplifié:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 bouton = $('<input type="button" value="essai" />'); x='ok'; alert(x); bouton.click(function(x){ //return function(x) { alert(x); //} });
Je cree un bouton en Jquery, je lui joint un evenement click et j'ajoute le tout au DOM.
Je n'ai pas tout mis concernant la création et l'ajout du bouton mais ça marche de ce coté là.
Le problème c'est que lorsque je clique sur le bouton j'ai une alerte qui m'affiche "[object Object]" au lieu de "ok".
A savoir aussi, le tout se trouve dans une boucle While, c'est pourquoi j'ai aussi tenté d'utiliser une autre fonction anonyme imbriqué pour que la variable x contienne la bonne valeur et non pas celle en fin de boucle.
voici le code un peu plus complet de ce que je veux au final:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 boutons = $('<div id="popMessage_boutons"></div>'); var i=0; while (i < ù.boutons.length) { bouton = $('<input type="button" value="' + ù.boutons[i].caption + '" />'); if (ù.boutons[i].callback) { x = ù.boutons[i].callback; alert(x); bouton.click(function(x){ //return function(x) { alert(x); fondOpaque('clear'); $('#popMessage').animate({opacity: 0}, 200,'swing',function() { this.remove(); window[x](); }); //} }); } else { bouton.click(function(){ ù.closeMessage() }); } boutons.append(bouton); i++; } popup.append(boutons); $(ù.destination).append(popup);
Partager