Sono un mendicante sviluppatore jQuery e sto usando la finestra di dialogo dell'interfaccia utente jQuery per mostrare le proprietà di un oggetto (qualunque cosa).
var $dialog = $("<div></div>")
.html("This dialog will show every time!")
.dialog({
autoOpen: false,
title: "Properties"
});
Quindi questa è la finestra di dialogo e diciamo che ho una struttura FOR in cui aggiungo proprietà (tag p) e per alcune di quelle proprietà voglio un pulsante.
var dialogHtml = "";
var dialog_buttons = {};
for (var key in d.properties){
var str;
var str = "<p>" + something + "</p>";
if (condition){
dialog_buttons[key] = function()
{ functionName(key); };
}
dialogHtml = dialogHtml + str;
}
$dialog.dialog( "option", "buttons", dialog_buttons );
$dialog.dialog("open");
E da qualche altra parte ho la funzione:
function functionName(key){
// something something
}
Questo è dove ho il problema: la variabile chiave che viene passata alla funzione ... quando il pulsante viene chiamato chiave è l'ultimo valore dell'iterazione. Diciamo che abbiamo i tasti 1, 2, 3, 4 quindi quando si fa clic sul pulsante, il parametro chiave sarà 4.
Voglio quando faccio clic su un pulsante dalla finestra di dialogo, per sapere quale pulsante è stato premuto.
Qualcuno può aiutarmi?
Grazie!
risposte:
1 per risposta № 1Utilizzo dei dati dell'evento dall'evento click (Vedere qui)
$("#btn").click(function(e) {
functionName(e.target);
});