1

ユーザーが次のようにしてフォームを送信したら、カラーボックスを開こうとしました。

$.colorbox({
    'iframe': true,
    'width':'550px',
    'height':'200px', 
    'href': 'index.html', 
    'onClosed': function()
    { 
        var form$ = $('#book-form');
        form$.get(0).submit();
    }
});

そして、次のようにしてiframe内で閉じようとしています(人々が「はい」リンクをクリックしたとき):

$('#yes').click(function() 
{ 
    parent.$('#repeat_provider').val(" . $booking['provider_id'] . ");

    parent.$.colorbox.close();

    return true;
}); 

しかし、カラーボックスは実際には閉じていません。私が何を間違えたのかわからない?

4

1 に答える 1

1

あなたが持っているものはうまくいくはずですが、覚えておく必要があることがいくつかあります.

このクリック イベントをアンカー要素にバインドする場合は、既定の動作を処理する必要があります。また、親ドキュメントで $ エイリアスを jQuery から分離した場合は、忘れずに jQuery を使用する必要があります。

$('#yes').click(function() 
{ 
    parent.jQuery('#repeat_provider').val("whatever");
    parent.jQuery.colorbox.close();
    return false; // cancel the default click event
}); 
于 2012-06-20T03:19:32.577 に答える