从远程页面关闭jquery模式对话框

我正在使用基于Grails的应用程序中的jQuery-UI对话框小部件来加载远程页面(在本例中,是一个简单的文件上载表单)。 远程页面在我的项目中的其他位置定义,并且不知道它正在对话框中加载。

有没有办法通过远程页面中的链接关闭对话框? 当我加载页面时,我是否必须以某种方式传递对话框的引用,或者是否有办法在保持对话框本身不可知的同时触发关闭事件?

试试这个HTML:

CLOSE 

这个JavaScript:

 $("#btnDone").click(function (e) { e.preventDefault(); var dialogDiv = $("#btnDone").parents(".ui-dialog-content"); if (dialogDiv.length > 0) { dialogDiv.dialog('close'); } }); 

在您的远程页面中。 它会查看它是否在对话框中,如果是,它将关闭它。 如果没有,它什么都不做。

如果你给对话框一个已知的ID,那么你可以使用jquery查找它(例如$(’#mydialog’)并通过远程页面上的脚本关闭它。唯一的问题可能是在远程页面是时评估JS加载到对话框中。