0

我有一个使用颜色框在 iframe 中打开的页面。此页面有一个复选框。当颜色框关闭时,我想检查是否单击了该复选框,如果是,则运行一个函数。

这是我所拥有的:

$(".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>
4

1 回答 1

1

沿着这条路线走下去,事情会变得复杂,因为 1)在 iframe 被删除(并且数据被破坏)之后触发 onClosed 和 2)onClosed 没有在正确的 DOM 中被触发以能够找到 input#modern。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;" >
于 2012-05-08T01:38:13.560 回答