jQuery UI-dialog-设置动态按钮并将值传递给函数

时间:2013-09-19 11:25:40

标签: javascript html jquery-ui events jquery

我正在动态设置按钮到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/

这包含一个嵌套的对话框,当点击第一个对话框的是或否时,该对话框又会触发。 出现第二个对话框时,两个按钮均无效。

1 个答案:

答案 0 :(得分:0)

为什么你没有使用这个

click: function () {
      test($('#' + jQuery(this).attr('id')));
}