Всплывающее окно Jquery Modal открывается при втором нажатии, а не при первом - PullRequest
0 голосов
/ 10 мая 2011

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

и это

, но моя проблема не совпадает с обоими. Поэтому я прошу вас не голосовать за вопрос.

Я использую следующий код, чтобы показать модальный

<script type="text/javascript">

        function overlayclickclose() {
            if (closedialog) {
                jQuery('#mydialog').dialog('close');
                             }
            closedialog = 1;
                                    }

            jQuery('#mydialog').dialog({
            bgiframe: true,
            autoOpen: false,
            modal: true,
            width: 900,
            height: 400,
            resizable: false,
            open: function() { closedialog = 1; jQuery(document).bind('click', overlayclickclose); },
            focus: function() { closedialog = 1; },
            close: function() { jQuery(document).unbind('click'); }
            });
            </script> 

сейчас здесьмой div будет отображаться как всплывающее окно

<div id="mydialog"><NL:TemplatePicker ID="TemplatePicker1" Runat="server"></NL:TemplatePicker></div>

И я вызываю модальное нажатие кнопки, вызывая его в коде asp.net, как это

protected void btnChooseTemplate_Click(object sender, EventArgs e)
    {
        ScriptManager.RegisterClientScriptBlock(this.Page, Page.GetType(), "change", "jQuery('#mydialog').dialog('open');closedialog = 1;jQuery('#mydialog').parent().appendTo(jQuery('form:aspnetForm'));", true);
    }

моя страница используетajax updatepanel.

любая помощь будет рассматриваться.если вам нужно что-то еще, чтобы лучше понять проблему, дайте мне знать.

Спасибо

1 Ответ

2 голосов
/ 10 мая 2011

@ Devjosh: похоже, что вы регистрируете открытое диалоговое окно в клике btnChooseTemplate. Это означает, что открытый скрипт не будет зарегистрирован до первого клика. Попробуйте переместить регистрацию блока клиентского скрипта в функцию загрузки страницы, чтобы она регистрировалась при каждой загрузке вашей страницы и была готова к первому щелчку каждый раз.

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