如何在关闭它后在SimpleModal中返回一个变量

时间:2012-05-02 19:51:42

标签: jquery simplemodal

这似乎对于simplemodal来说是一个相当广泛的用途,但我无法在任何地方找到它。

我使用simplemodal通过iframe提取页面,生成一个变量,然后我希望在关闭模式时将其传递回父页面。

我将如何做到这一点?

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

你是怎么回事? jQuery的?如果您不在同一个域,协议或其他方面正确设置document.domain,那么您将使用以下代码段遇到错误,但您可以尝试使用以下内容来访问父页面的DOM。

window.parent.$

所以假设你在父页面上有这个功能,

function UpdateTheHeaderPlease(data) {
$('.header').replaceWith(data);

}

然后你将这段代码包含在simplemodal回调OnClose:

$("#element-id").modal({onClose: function (dialog) {
window.parent.UpdateTheHeaderPlease(some data);

});

答案 1 :(得分:0)

好的我明白了,感谢Rob A提出了一些好主意。

我必须首先给iframe一个名字。

$.modal('<iframe src="modal_calls.cfm" name="frameName">', {

然后在iFrame页面中,我将我希望传递的变量设置为窗口范围变量:

window.frameVar = myVar;

然后在关闭模态之前,我使用iFrame的名称设置了一个窗口范围变量:

onClose: function (dialog) {
    window.newFrameVar= window.frameName.frameVar;
    $.modal.close();
}

然后我可以使用window.newFrameVar在父文档中访问它。