我正在动态设置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')));
}