Colorbox onClosed功能实现父页面

时间:2012-05-07 17:43:58

标签: jquery function colorbox

我在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>

1 个答案:

答案 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;" >