Как использовать диалоговое модальное подтверждение перед удалением?

Это первый раз, когда я использую jQuery dialog_modal подтверждение. Я хочу использовать это перед удалением данных внутри функции ajax. Я все еще в замешательстве, как правильно поставить этот скрипт.

Перед использованием этого диалога у меня есть скрипт, например:

 $('#delete').click(function() {
          var params = $('#deletedata').serialize();
          $.ajax({
                   async  : false,
                   cache  : false,
                   data   : params,
                   success: function(res) {
                     //        oTable.fnReloadAjax();
                               $('#recline1').replaceWith("<div id='recline1'></div>");
                               $('#recmodel1').replaceWith("<div id='recmodel1'></div>");
                               $('#tabs').hide();
                               return this;
                               },
                   type   : "POST",
                   url    : "process1.php",
                   });
             return false;
        });

Я хочу, чтобы при нажатии delete отображалось это диалоговое окно, тогда, если мы выбираем delete at dialog, выполняется процесс удаления, но если мы выбираем no, все открытые вкладки и это диалоговое окно скрываются.


Редактировать

Я пробовал так, и может появиться диалоговое окно подтверждения:

$('#delete').click(function() {
              $('#dialog-confirm').dialog('open');
              var params = $('#deletedata').serialize();
              ....

Я все еще не понимаю, как получить идентификатор кнопки внутри модального подтверждения, а затем объединить с функцией ajax?


person klox    schedule 27.10.2010    source источник


Ответы (2)


Вы можете поместить свою функцию ajax в обработчик кнопок при инициализации диалога. Затем откройте, как вы описали выше.

$('#dialog-confirm').dialog({
    autoOpen: false,
    modal: true,
    buttons: {
        'Delete': function () {
            // Perform the delete
            $.ajax({
                url: "process1.php",
                success: function () {
                    ...
                }
            });
        },
        Cancel: function () {
            $(this).dialog('close');
        }
    }
});
person Chris Wallis    schedule 27.10.2010
comment
аааааа... я скучаю по этой части... извините за мои ограниченные знания... большое спасибо, Крис. - person klox; 27.10.2010

Поместите две кнопки внутри вашего диалогового подтверждения div, «ОК» и «Отмена».

После нажатия кнопки «ОК» вызовите свой код ajax (преобразуйте его в отдельную функцию) и закройте диалоговое окно.

После нажатия кнопки «Отмена» просто закройте диалоговое окно.

person Sam    schedule 27.10.2010