как закрыть диалоговое окно jquery из частичного просмотра - PullRequest
0 голосов
/ 14 июля 2011

У меня есть частичный вид А на главной странице моего просмотра.из этого частичного представления я открываю диалоговое окно jquery, которое открывает частичное представление внутри него.У меня есть некоторые кнопки внутри этого частичного вида, которые предназначены для выполнения некоторой задачи. Когда я нажимаю на кнопку, событие запускается, но когда я пытаюсь закрыть диалоговое окно с помощью приведенного ниже кода, я получаю сообщение об ошибке.Если я нажимаю escape, когда диалоговое окно открывается, оно закрывается, но когда я нажимаю на кнопку, чтобы вернуть его, оно снова выдает ту же ошибку.т.е. когда я могу открыть диалоговое окно только один раз.

$(function () {
    $( "#dialog:ui-dialog" ).dialog( "destroy" );
    $('#dialog').dialog({
        autoOpen: false,
        width: 700,
        resizable: false,
        modal: false,
        open: function (event, ui) { $(this).load('<%=Url.Action("PushButton","Body",new {Parm="text",Parm1="para"}) %>'); },
        buttons: {Cancel: function() {
                $( this ).dialog( "close" );
            }
        },
        position: 'top',
        closeOnEscape: true
    });
});

Вот как я его открываю

$('#dialog').dialog('open');

Это функция, с помощью которой я пытаюсь закрыть его,это частичное представление, которое открывается в диалоговом окне

$('#dialog').dialog('close');

Я попытался создать функцию в частичном представлении A (откуда я щелкаю и получаю и диалоговое окно, но получаю ту же ошибку)ошибка, которую я получаю

Ошибка времени выполнения Microsoft JScript: объект не поддерживает свойство или метод 'dialog'

Пожалуйста, помогите мне с этим

Ответы [ 2 ]

1 голос
/ 14 июля 2011

Попробуй так:

buttons: {
    Cancel: function() {
        $('#dialog').dialog('close');
    }
}
0 голосов
/ 15 июня 2013

Попробуйте установить возвращаемое значение из диалога в переменную, подобную этой:

var dialogRef;

$(function () {
    dialogRef = $('#dialog').dialog({
        autoOpen: true,
        width: 700,
        resizable: false,
        modal: false,
        buttons: {Cancel: function() {
                $( this ).dialog( "close" );
            }
        },
        position: 'top',
        closeOnEscape: true
    });

     $("#innerButton").on("click", function() {
        dialogRef.dialog("close");
     });
});

Рабочая jsFiddle

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