我在iframe中使用colorbox打开了一个页面。此页面有一个复选框。当颜色框关闭时,我想检查是否单击了该复选框,如果是,则运行一个函数。
这就是我所拥有的:
$(".colorbox").colorbox({
rel:'group1',
iframe: true,
width:100+"%",
height:100+"%",
onClosed:function(){
var chosenMap = $("input:checkbox#modern");
if (chosenMap.checked) {
alert("checked");
}else{
alert("not checked");
}
}
});
并且颜色框中的html是:
<form>
<label for="modern" class="check activeCheck"><input type="checkbox" name="Style" id="modern" >Custom</label>
<input class="next button" type="button" value="Back" onclick="parent.$.colorbox.close(); return false;" >
</form>
答案 0 :(得分:1)
在这条路线上,事情会变得复杂,因为1)在iframe被移除(和数据被破坏)之后的onClosed触发器和2)onClosed没有在正确的DOM中被触发以便能够找到输入#现代。 input#modern存在于iframed文档中,您必须以不同的方式查询。相反,你不能在调用parent之前做你需要做的事。$。colorbox.close()?例如:
<script>
function chosen() {
var chosenMap = $("input:checkbox#modern");
if (chosenMap.checked) {
alert("checked");
}else{
alert("not checked");
}
parent.$.colorbox.close();
}
</script>
<input class="next button" type="button" value="Back" onclick="chosen(); return false;" >