从 colorbox 重新加载父 div

发布于 2024-12-04 14:12:29 字数 351 浏览 1 评论 0原文

我有一个带有购物车的 colorbox iframe。我需要重新加载显示“购物车监视器”的父 div,因为我在该 colorbox iframe 上有一个“空购物车”链接。

            $("#submit<%response.write productid%>").click(function(event) {
            alert('actualizo carromonitor!');
            parent.$("#carromonitor").html.load("carromonitor.asp");
            });

有人可以帮助我吗?

I have a colorbox iframe with a shopping-cart. I need to reload a parent div that shows a "shopping-cart monitor", because I have a "empty cart" link on that colorbox iframe.

            $("#submit<%response.write productid%>").click(function(event) {
            alert('actualizo carromonitor!');
            parent.$("#carromonitor").html.load("carromonitor.asp");
            });

Can anybody help me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

独自←快乐 2024-12-11 14:12:29

看起来你在这一行有一个错误:

parent.$("#carromonitor").html.load("carromonitor.asp");

jquery 中的 html() 函数应该如下所示:

parent.$("#carromonitor").html("Your HTML code here");

但是,由于你想通过 ajax 加载它,所以不需要 html() 函数。您可以这样做:

parent.$("#carromonitor").load("carromonitor.asp");

此外,iframe 文档本身中的代码需要位于文档就绪块中。你没有提到它,所以我不知道你是否已经这样做了,但它不应该在 iframe 加载之前运行:

$(document).ready(function() {
    $("#submit<%response.write productid%>").click(function(event) {
        alert('actualizo carromonitor!');           
        parent.$("#carromonitor").load("carromonitor.asp");
    });
});

It looks like you have a mistake in this line:

parent.$("#carromonitor").html.load("carromonitor.asp");

The html() function in jquery should look like this:

parent.$("#carromonitor").html("Your HTML code here");

However, since you want to load it via ajax, you don't need the html() function. You can do it this way:

parent.$("#carromonitor").load("carromonitor.asp");

Also, your code in the iframe document itself needs to be in a document ready block. You didn't mention it, so I don't know if you've already done that, but it shouldn't run before the iframe is loaded:

$(document).ready(function() {
    $("#submit<%response.write productid%>").click(function(event) {
        alert('actualizo carromonitor!');           
        parent.$("#carromonitor").load("carromonitor.asp");
    });
});
演出会有结束 2024-12-11 14:12:29

这样可以吗:

$("#submit<%response.write productid%>").click(function(event) {
  alert('actualizo carromonitor!');
  $("#carromonitor").load("carromonitor.asp");
});

由于 #carromonitor 是一个 ID,因此应该是唯一的,因此它与单击的元素相关这一事实应该不重要。如果您要复制 ID(不应该这样做),请将 $('#carromonitor') 替换为 $(this).closest('#carromonitor')

一您可能遇到的问题是,第一次之后不会调用单击处理程序(假设 #submitXXX 元素位于 #carromonitor 内)。在这种情况下,请将: 替换

$("#submit<%response.write productid%>").click(function(event) {

$("#submit<%response.write productid%>").live('click', function(event) {

Would this do it:

$("#submit<%response.write productid%>").click(function(event) {
  alert('actualizo carromonitor!');
  $("#carromonitor").load("carromonitor.asp");
});

Since #carromonitor is an ID and should therefore be unique, the fact that it's related to the clicked element shouldn't matter. If you are duplicating IDs (which you shouldn't be), replace $('#carromonitor') with $(this).closest('#carromonitor')

One issue you might run into is that the click handler is not called after the first time (assuming that the #submitXXX element is inside #carromonitor). In that case, replace:

$("#submit<%response.write productid%>").click(function(event) {

with

$("#submit<%response.write productid%>").live('click', function(event) {
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文