Jquery Dialog Close не работает - PullRequest
0 голосов
/ 04 мая 2011

У меня есть 2 простые страницы.

Индекс содержит гиперссылку с тегом привязки, для которого в jquery определена функция click.Страница также содержит DIV под названием «контейнер»

Функция щелчка открывает диалог с использованием .dialog ()

Сама диалоговая страница является второй страницей, на которой я пытаюсь закрыть диалоговое окно, ноэто не работает.

Можете ли вы объяснить мне, почему это не работает?

====== КОД ИЗ СТРАНИЦЫ INDEX ===========

<script type="text/javascript">
    $().ready(function () {
        $("#LaunchModal").click(function () {
            $.get(
                "Home/RandomPopupView",
                function (htmlResult) {
                    $("#RandomModal").remove(); //In case this is the second time they've requested the dialog.
                    $("#container").append(htmlResult);
                    $("#RandomModal").dialog();
                }
            );
            return false; //To keep the default behavior of the anchor tag from occuring.
        });
    });
</script>
<a href="" id="LaunchModal">Launch Modal!</a>
<div id="container">

====== КОД ИЗ СТРАНИЦЫ ДИАЛОГА ===========

<div id="RandomModal">
    <script type="text/javascript">
        $().ready(function () {

            //TEST TRY TO CLOSE THE DIALOG DIV IMMEDIATELY FROM WITHINN THE DIV ITSELF
            $("#RandomModal").dialog("close"); //CLOSE DOES NOT WORK

            $("#submitModal").click(function () {
                var SomeString = $("#SomeString").val()

                $.post("/Home/RandomPopupViewPOST",
                {
                    SomeString: SomeString
                },
                    function (html) {
                        $("#RandomModal").empty();
                        $("#RandomModal").append(html);
                    });
            });
        });
    </script>
</div>

=======================================

Ответы [ 3 ]

1 голос
/ 04 мая 2011

метод get не загружает страницу, вам нужно было бы загрузить iframe для получения события готовности на второй странице, чтобы вызвать

поэтому я хотел бы, чтобы мы поместили ваш код на главную страницу и использовали живое событие

$("#submitModal").live("click",function () {
    var SomeString = $("#SomeString").val()

    $.post("/Home/RandomPopupViewPOST",
    {
        SomeString: SomeString
    },
        function (html) {
            $("#RandomModal").empty();
            $("#RandomModal").append(html);
        });
});

хотя я не уверен, что это правильное решение: чем больше я читаю ваш код, тем больше я не понимаю, что вы пытаетесь сделать

1 голос
/ 04 мая 2011

Если вы хотите загрузить и выполнить дополнительный скрипт, вы должны использовать $.getScript().

См. Документацию по нему на веб-сайте jQuery, чтобы получить лучшее представление о том, как его использовать: jQuery.getScript ()

0 голосов
/ 04 мая 2011

Оставьте код $("#RandomModal").dialog("close"); на странице индекса.

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