jQuery UI-dialog- настройка кнопок динамически и передача значений в функцию

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/

Это содержит вложенное диалоговое окно, которое, в свою очередь, запускается при нажатии "Да" или "Нет первого диалога". Когда появится второе диалоговое окно, обе кнопки не действуют.

Теги:
events

1 ответ

0

почему вы не используете это?

click: function () {
      test($('#' + jQuery(this).attr('id')));
}
  • 0
    Я попробовал это, но не работает. Я думаю, что это не будет работать здесь, так как кнопка не была создана во время выполнения события click. Следовательно событие не запущено.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню