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)input#modernを見つけることができる正しいDOMでonClosedがトリガーされないため、このルートを進むと事態は複雑になります。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 に答える