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

时间:2009-10-29 15:04:48

标签: javascript jquery jquery-ui grails modal-dialog

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

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

2 个答案:

答案 0 :(得分:1)

试试这个HTML:

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

和这个JavaScript:

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

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

答案 1 :(得分:0)

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