如何在对话框中关闭jQuery Dialog?

imp*_*alx 65 jquery jquery-ui jquery-ui-dialog

如何在不使用关闭按钮的情况下关闭对话框中的jQuery Dialog?

在ui对话框内部是一个简单的表单请求,如果发生成功提交,则ui对话框会自动关闭并刷新父页面.

    <script type="text/javascript">
        $(document).ready(function () {
            $("#form-dialog").dialog({
                autoOpen: true,
                modal: true,
                width: 200,
                draggable: true,
                resizable: true
            });
        });
    </script>


    <div id="form-dialog" title="Form Submit">
    <form action="default.aspx" method="post">
    <input type="text" name="name" value=" " />    
    <input type="submit" value="submit" />

    <a href="#" id="btnDone">CLOSE</a>

    <script type="text/javascript">
    $(document).ready(function () {
        $("#btnDone").click(function () {
            $(this).dialog('close');
        });
    });
    </script>

    </form>
    </div>
Run Code Online (Sandbox Code Playgroud)

-imperialx

小智 69

试试这个

$(this).closest('.ui-dialog-content').dialog('close'); 
Run Code Online (Sandbox Code Playgroud)

它将关闭其中的对话框.


Jas*_*son 66

你可以通过调用以编程方式关闭它

$('#form-dialog').dialog('close')
Run Code Online (Sandbox Code Playgroud)

无论你什么时候想要.


red*_*are 18

你需要

$('selector').dialog('close');
Run Code Online (Sandbox Code Playgroud)


Der*_*ter 9

从对话框中的iframe关闭:

window.parent.$('.ui-dialog-content:visible').dialog('close');
Run Code Online (Sandbox Code Playgroud)


ndr*_*rix 8

$(this).parents(".ui-dialog-content").dialog('close')
Run Code Online (Sandbox Code Playgroud)

很简单,我想确保我不这样做:

  1. 硬编码对话框#id值.
  2. 关闭所有对话框.


Mar*_*rco 5

在没有运气的情况下检查了以上所有这些答案之后,下面的代码为我解决了问题:

$(".ui-dialog").dialog("close");
Run Code Online (Sandbox Code Playgroud)

如果您寻找替代品,也许这也是一个不错的尝试。