не в состоянии закрыть модальный диалог - PullRequest
0 голосов
/ 11 августа 2011

Проблема: не удалось закрыть модальное диалоговое окно

У меня есть следующий код, он работает для меня, диалог открывается.

$("#invitation-form").dialog({
    autoOpen: true,
    height: 300,
    width: 600,
    modal: true,
    title: 'Send Invitation',

    open: function() {
        $("#invitation-form").html("<%= escape_javascript(render('invitation_form.html')) %>")
    }
});

ВнутриФорма приглашения, после того, как пользователь нажмет кнопку «отправить», он будет запускаться и функционировать в контроллере, это и вызов ajax, потому что я установил: remote => true

и я пытаюсь сделать следующее

$("#invitation-form").dialog("close")

диалоговое окно НЕ закрывается.

Я положил и предупреждающее сообщение, чтобы проверить его, он запускается через код, я вижу сообщение о предупреждении.

может любойпомогите, как мне закрыть диалог?

Спасибо

Ответы [ 3 ]

0 голосов
/ 11 августа 2011

Вы пытались поместить функцию ajax в закрытие?

$( "#invitation-form" ).dialog({
   close: function() { Ajax stuff here }
});

В противном случае попробуйте установить кнопку «отправить»:

//getter
var buttons = $( ".selector" ).dialog( "option", "buttons" );
//setter
$( ".selector" ).dialog( "option", "buttons", { "Ok": function() { $(this).dialog("close"); } } );
0 голосов
/ 10 марта 2017

Также проверьте jquery-ui и jquery.js, не включенные в загруженный файл. Он остановит работу в методе закрытия диалога, если загружен дважды.

0 голосов
/ 11 августа 2011

Вы должны попытаться настроить диалоговое окно так, чтобы оно не было autoOpen:

$("#invitation-form").dialog({
    autoOpen: false,
    height: 300,
    width: 600,
    modal: true,
    title: 'Send Invitation',

    open: function() {
        $("#invitation-form").html("<%= escape_javascript(render('invitation_form.html')) %>")
    }
});

А затем вы можете просто позвонить open при загрузке страницы, если хотите, и close, когда захотитеа также:

$("#invitation-form").dialog("open");
$("#invitation-form").dialog("close");
...