【问题标题】:jQuery dialog box opens on click, but autoOpen not working单击时打开 jQuery 对话框,但 autoOpen 不起作用
【发布时间】:2013-09-20 06:07:00
【问题描述】:

我有一个网站here...

当你到达现场时……

autoOpen: true, 工作正常,但未加载 ajax 请求 (jquery-ajax.html)。

但是,如果您单击左上角的“合规与道德”按钮,则 ajax 请求会通过并打开对话框。

我做错了什么,它没有正确自动打开?

$(function() {
    $("#dialog").dialog({
        autoOpen: true,
        modal: true,
        width: 750,
        height: 'auto',
        show: 'fade',
        hide: 'fade',
        position: {my: "center top", at:"center top", of: window },
        buttons: {
            "Dismiss": function() {
                $(this).dialog("close");
            }
        }
    });

这就是点击时调用 ajax 请求...

<script type="text/javascript">
    jQuery('#dialog').load('jquery-ajax.html').dialog('open'); 
</script>

【问题讨论】:

    标签: ajax jquery-ui jquery jquery-ui-dialog


    【解决方案1】:

    我查看了您的页面源代码,可能原因是您的函数调用发生在 DOM 中创建 div-box 之前。此外,您不需要设置对话框autoOpen,因为您手动调用dialog('open')。 试试这个:

    <script type="text/javascript">
        $(document).ready( function() {
            jQuery('#dialog').load('jquery-ajax.html').dialog();
        });
    </script>
    

    【讨论】:

    • 好的。我修复了我的函数调用并修复了您的其他建议。它仍然无法正常工作。这是一个更新的网站,如果您能再看一下,我将不胜感激。我会提交一个小提琴,但我不确定如何使用 ajax 调用复制错误。
    • 我认为您没有... ;) 将 #dialog-
      设置为 autoOpen:false 并将上面我发布的代码放入您的 &lt;head&gt; 部分。
    • 对不起。我以为你说我必须摆脱上面的脚本,或者将 autoOpen 设置为 false。我的错。现在正在努力。
    • 我明白了,您将 #dialog 重命名为 #compliance,因此您当然必须进行调整。
    • 好的。它就在&lt;/head&gt; 标签之前。 autoOpen: false 已设置。仍然无法正常工作。还有其他想法吗?
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签