将信息传递给加载动态内容的jQuery模式

时间:2010-07-12 14:54:47

标签: jquery

我有一个带有js变量的主页面。我想在该主页面上打开一个模态并从另一个页面加载html内容。我需要将该变量传递给打开的模态并在加载的html内容中使用它。 我已经看到了几个类似于这些论坛中的问题,但我没有看到任何解释如何从加载的html内容中取出该变量。 我知道我可以对外部html内容发出GET请求,我知道我可以在查询字符串中包含该变量。但是如何从模态中的查询字符串中获取它呢? 我从查询字符串中获取的所有示例都涉及使用window.location.href或类似的东西。好吧,这对我不起作用,因为它返回我所在的主页面的网址,而不是我的模态弹出窗口。 有什么建议吗?

3 个答案:

答案 0 :(得分:0)

VBA - 我通常使用$(“#mypopupdiv”)。dialog()函数,然后使用$ ajax调用派生的值填充#mypopupdiv。你将$ var存储在模块级别,然后当弹出窗口加载(或加载时,取决于你的处理要求),你就可以使用变量了。 .dialog()方法的优点在于它是一个弹出窗口,它实际上是父页面的一部分,而不是一个单独的过程。

经过仔细考虑,这是非常可靠和有效的,可用于各种场景,没有副作用。

如果需要,可以提供更多详细信息。

吉姆

答案 1 :(得分:0)

VBA,为了保持弹出式div'自包含'并且不使用全局变量,您可以执行以下操作:

$("#mypopupdiv").data("userid", $varUserId);

然后,在弹出窗口填充代码中,您将“抓取”该数据:

if ($("#mypopupdiv").data("userid") != null) {
    // do some stuff with it
}

其他方法可以让猫的皮肤比比皆是,但只有另外一种方法可以将它扔到风中......

吉姆

答案 2 :(得分:0)

我得到了它的工作,但我不知道如何或为什么。在我的主页面中,我使用了名为jquery.contacts.js的jQuery插件。我在该插件上设置了一些默认值,然后我给它一个div并调用contacts方法。

 $.fn.contacts.defaults.currentUser = _currentUser;

        if (!$("#searchContactDialog").contacts()) {
            return false;
        }

这会拉入外部内容并将其加载到div中。现在,当我运行注入内容中的js时,我可以引用名为contacts的变量并获取这些默认值。

_userId = $(this).contacts.defaults.currentUser;

我没想到联系人var可供我使用,我不确定是怎么回事。事实上,我对这段代码中$(this)的含义感到有些困惑。但它有效......