我有关于jquery和colorbox overlay的问题。我无法在stackoverflow上找到好的解决方案。
我想从iframe overlay获得一些价值(myvalue)。
我父母的代码(home.php):
$(".iframe").colorbox({
iframe:true,
width:"1000px",
height:"500px",
// Begin to clos the overlay
onCleanup: function() {
var myvalue = $("#myvalue").val();
alert('myvalue');
}
}
链接以打开我的iframe:
<a href="child.php" class="iframe">OPEN OVERLAY BY IFRAME METHOD</a>
我的iframe叠加层中的代码(child.php):
$(".mydiv").click(function(){
window.parent.$(this).attr('value');
parent.$.colorbox.close();
return false;
});
我的叠加层中的Html(child.php):
<div class="mydiv" value="TESTPASSINGVALUE"></div>
帮助我的想法?
谢谢!
答案 0 :(得分:1)
您需要引用iframe元素。假设您的iframe元素具有id“iframe”。然后,
onCleanup: function() {
var myvalue = $("#iframe").contents().find("#myvalue").val();
alert('myvalue');
}
您需要使用contents()来访问iframe中的内容。此外,iframe URL必须与父(同源策略)在同一域中
答案 1 :(得分:0)
$("#myid", parent.document.body);
答案 2 :(得分:0)
我终于找到了解决我的localStorage问题的解决方案
子页面中的代码:
$(".mydiv").click(function(){
val = $(this).attr('value');
localStorage.setItem("myvalue", "val");
parent.$.colorbox.close();
return false;
});
父页面中的代码:
$(".iframe").colorbox({
iframe:true,
width:"1000px",
height:"500px",
// Begin to clos the overlay
onCleanup: function() {
var test = localStorage.myvalue;
alert(test);
}
}
感谢大家的帮助:))