从colorbox重新加载父div

时间:2011-09-14 17:11:32

标签: jquery html parent colorbox reload

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

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

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

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

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");
    });
});

答案 1 :(得分:0)

会这样做:

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

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

您可能遇到的一个问题是第一次没有调用click处理程序(假设#submitXXX元素位于#carromonitor内)。在这种情况下,请替换:

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

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