/ / jQuery-UI Buttons Buttons - passa l'argomento alla funzione click btn - jquery-ui, jquery-ui-dialog

jQuery-UI Dialog Buttons - passa argomento a btn funzione click - jquery-ui, jquery-ui-dialog

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 № 1

Utilizzo dei dati dell'evento dall'evento click (Vedere qui)

$("#btn").click(function(e) {
functionName(e.target);
});

Spiegazione di Event.Target