我有一个带购物车的彩盒iframe。我需要重新加载一个显示“购物车监视器”的父div,因为我在该colorbox iframe上有一个“空车”链接。
$("#submit<%response.write productid%>").click(function(event) {
alert('actualizo carromonitor!');
parent.$("#carromonitor").html.load("carromonitor.asp");
});
任何人都可以帮助我吗?
答案 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) {