0

我正在为 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/

这包含一个嵌套对话框,当单击第一个对话框的“是”或“否”时依次触发。当第二个对话框出现时,两个按钮都不起作用。

4

1 回答 1

0

为什么你不使用这个

click: function () {
      test($('#' + jQuery(this).attr('id')));
}
于 2013-09-19T12:11:57.427 回答