Закрытие всплывающего окна при нажатии кнопки в частичном представлении - PullRequest
1 голос
/ 07 декабря 2011

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

$(document).ready(function () {
    //define config object
    var dialogOpts = {
        title: "Mypopup",
        modal: true,
        autoOpen: false,
        height: 300,
        width: 700,
        open: function () {
            //display correct dialog content
            $("#Mydiv").load("MyAction");
        }
    };
    $("#Mydiv").dialog(dialogOpts);    //end dialog

    $("#MyButton").click(
    function () {
        $("#Mydiv").dialog("open");
        return false;
    }
);

});

действие MyAction загружает частичное представление, скажем «Myview» успешно, «Myview» содержит кнопку закрытия, и при нажатии этой кнопки я хочу закрыть всплывающее окно. Как я могу это сделать? Я попытался следующий код, но это не работает.

$('#Close').click(
        function () {
            $(this).parent("close");
            return false;
        }); 

Не могли бы вы помочь?

Вот мой HTML для частичного просмотра.

@Code 
    Using (Html.BeginForm())
        @<div id="master">
        <img alt ="" src ="../../Images/Question.gif" height ="50" width ="50" />@Html.DisplayFor(Function(model) model.ConfirmationMessage) @Html.HiddenFor(Function(model) model.Key )<br /><br />
        <div><input id="Yes" type="submit"  class ="btn" name="button" value="Yes" /><input id="No" type="submit"  class ="btn" name="button" value="No"  /></div>      
        </div>
    End Using
End Code
<script type="text/javascript">
    $("#No").live("click", function(){ $("#MyDiv").dialog("close"); }); </script>

Ответы [ 3 ]

1 голос
/ 07 декабря 2011

Вы можете попробовать:

$("#MyDiv").dialog("close")

или добавьте кнопки закрытия при инициализации

$( "#MyDiv" ).dialog({
        resizable: false,
        height:140,
        modal: true,
        buttons: {
            "Close": function() {
                $( this ).dialog( "close" );
            }
        }
    });
0 голосов
/ 23 мая 2016

Это будет работать, нам нужно обратиться к следующим jQuery, jquery-ui.js и jquery-ui.css.

    $(function () {

        $("#dialog").dialog({

            modal: true,
            autoOpen: false,
            title: "jQuery Dialog",
            width: 500,
            height: 250

        });

        $("#btnShow").click(function () {

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

        });         

    });

    function Close() {
      $('#dialog').dialog('close');

    };

</script>

для получения более подробной информации http://www.infinetsoft.com/Post/How-to-open-and-close-a-popup-in-asp-net-mvc-using-Jquery/99#.V0LlETV97cs

0 голосов
/ 07 декабря 2011

Я думаю, что вижу это сейчас. Эта кнопка загружается динамически, поэтому

$("#MyButton").live("click", function(){ $("#MyDiv").dialog("close"); });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...