/ / jQuery-UI диалогови бутони - предайте аргумент на btn click click - jquery-ui, jquery-ui-dialog

jQuery-UI диалогови бутони - пропуск аргумент към функцията btn click - jquery-ui, jquery-ui-dialog

Аз съм начален jQuery dev и използвам диалоговия прозорец на jQuery интерфейса, за да покажа свойства на обект (каквото и да е).

var $dialog = $("<div></div>")
.html("This dialog will show every time!")
.dialog({
autoOpen: false,
title: "Properties"
});

Това е диалоговият прозорец и нека кажем, че имам FOR структура, в която добавям свойства (p тагове) и за някои от тези свойства искам бутон.

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");

И някъде другаде имам функцията:

function functionName(key){
// something something
}

Ето тук имам проблема: ключовата променлива, която е преминала към функцията ... когато бутонът се нарича ключ, е последната стойност от итерацията. Нека кажем, че имаме клавиши 1, 2, 3, 4, след това при натискане на бутона параметърът на ключа ще бъде 4.

Искам, когато щракна върху бутон от диалоговия прозорец, да знам кой бутон е натиснат.

Може ли някой да ми помогне?

Благодаря!

Отговори:

1 за отговор № 1

Използване на данните от събитието от събитието щракване (виж тук)

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

Обяснение на Event.Target