Я динамически настраиваю кнопки в диалоговом окне jQuery UI, как показано ниже.
arrButton = {};
var i = 0;
for (i = 0; i < dialog_buttons.length; i++) {
for (var key in dialog_buttons[i]) {
arrButton[key] = {
id: key,
text: dialog_buttons[i][key],
click: function () {
test($('#' + key));
}
};
}
}
function test(value) {
if (value.selector == "#confirm") {
confirmthis();
}
if (value.selector == "#cancel") {
cancelthis();
}
}
$("#" + div.id).dialog({
modal: true,
buttons: arrButton
});
когда кнопка нажата, ключ будет последним значением из итерации. Скажем, у нас есть ключи, подтверждающие и отменяющие тогда, когда нажата кнопка, параметр ключа будет отменен.
Поэтому, когда я нажимаю кнопку в диалоговом окне, я хочу знать, какая кнопка была нажата.
Найдите скрипт, который дублирует проблему, описанную выше.
http://jsfiddle.net/DOmEl/qNGEw/11/
Это содержит вложенное диалоговое окно, которое, в свою очередь, запускается при нажатии "Да" или "Нет первого диалога". Когда появится второе диалоговое окно, обе кнопки не действуют.
почему вы не используете это?
click: function () {
test($('#' + jQuery(this).attr('id')));
}