如何在对话框中closuresjQuery对话框?

如何在不使用closuresbutton的情况下closures对话框中的jQuery对话框?

在ui对话框内部是一个简单的表单请求,如果成功提交,UI对话框会自动closures并刷新父页面。

<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> 

-imperialx

尝试这个

 $(this).closest('.ui-dialog-content').dialog('close'); 

它会closures里面的对话框。

您可以通过调用以编程方式closures它

 $('#form-dialog').dialog('close') 

无论你什么时候想要。

你需要

 $('selector').dialog('close'); 
 $(this).parents(".ui-dialog-content").dialog('close') 

很简单,我喜欢确保我不会:

  1. 硬编码对话框#id值。
  2. closures所有的对话框。

在对话框中closuresiframe:

 window.parent.$('.ui-dialog-content:visible').dialog('close'); 

将一个stringreplace为

 $("#form-dialog").dialog('close'); 

$(this)在这里意味着另一个对象$(“#btnDone”)

  <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 () { //I've replaced next string // $(this) here means another object $("#btnDone") $("#form-dialog").dialog('close'); }); }); </script> </form> </div> 

在检查了所有上述答案之后,没有运气,folling的代码为我解决了这个问题:

 $(".ui-dialog").dialog("close"); 

如果你寻求替代scheme,也许这也是一个很好的尝试。

在打开的时候添加这个链接

 $(this).parent().appendTo($("form:first")); 

完美的作品。

 $(document).ready(function () { $("#form-dialog").dialog({ autoOpen: true, modal: true, width: 200, draggable: true, resizable: true, buttons: { "Close": function () { $("#idDialog").dialog("close"); } } }); }); 

这会让你一个closures的button。 您也可以调用closures的function

 $("#idDialog").dialog("close"); 

在一些function上做到这一点。 甚至在一个button/ a

 < a href="javascript:void(0);" id="btnDone" onClick="$("#idDialog").dialog("close");">CLOSE</a> 

编辑:你需要这个包括你的对话框forms:

 open: function (type, data) { $(this).parent().appendTo($("form:first")); }