Кнопки диалога JQuery UI - Показать после ответа AJAX - PullRequest
1 голос
/ 15 декабря 2009

У меня есть следующий код, чтобы запустить dilog, сделать ajax и заполнить его ответом. Как я могу изменить код, чтобы убедиться, что кнопка «ОК» отображается только после успешного ответа ajax?

Спасибо

    function saveChangesDialog(btnToClick,formToPost,formAction,dialogtitleText)
    {
     $(document).ready(function() {
            // dialog prepare function
                    $('#generic_dialog').dialog({
                        autoOpen: false,
                        width: 400,
                        modal: true,
                        bgiframe: true,
                        title: dialogtitleText,
                        closeOnEscape: false,
                        open: function(event, ui) 
                         { 
                            $(".ui-dialog-titlebar-close").hide();
                         },
                        resizable: false,
                            buttons: {
                                    Ok: function() {
                                            $(this).dialog('close');
                                    }
                            }
                    });

            // dialog content polling
            $.fetch_dialog_content = function() {
                $('#generic_dialog').dialog('open');
                $.ajax({
                    type: 'POST',
                    url: formAction,
                    data:  $("#"+ formToPost).serialize(),
                    cache: false,
                    dataType: "html",
                    success: function(html_input){                    
                        $('#dialogText-genericdialog').html(html_input);                    
                    }
                });
            }
            // "click" event registration
            $('#'+btnToClick).click(function(){
                $.fetch_dialog_content();
            });
     });
    }

Ответы [ 2 ]

2 голосов
/ 15 декабря 2009

После вызова AJAX

$('#generic_dialog').dialog('option','buttons',{
  'OK': function(){ $(this).dialog('close');}
});
1 голос
/ 19 января 2010

Возможно, вам лучше использовать оверлей Jquery Tools.

Это самые чистые и ухоженные решения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...