2011-06-01 11 views

答えて

5

バインド:

$('.pharmacy').change(function(e){ 
    $('.pcsoc').toggle(); 
}); 

それとも、​​かどうかを確認し、あなた自身の表示/非表示(もっと防弾)を行うことができます。

$('.pharmacy').change(function(e){ 
    if ($(this).is(':checked')) 
    $('.pcsoc').show(); 
    else 
    $('.pcsoc').hide(); 
}); 
+1

デモ:http://jsfiddle.net/bradchristie/TPuB8/ - ここに 'is()'バージョンがあります:http://jsfiddle.net/bradchristie/TPuB8/1/ –

3

試してみてください。代わりに変更イベントへ

$('.pharmacy').click(function(){ 
    $('.pcsoc').toggle(); 
}); 
+0

。 –

2

あなたはそれがオンまたはオフされたかどうかをテストする必要があります。

$('.pharmacy').click(function(){ 
    if ($(this).is(':checked')) { 
    $('.pcsoc').show(); 
    } 
    else $('.pcsoc').hide(); 
}); 

EDITブラッド・クリスティによって示唆されているようにそれはchange()メソッドにバインドするために、おそらく良いでしょう

+0

私はこれが好きです。可能性の高いシナリオでは、フォームが開いたときにcheck_boxのステータスを予測できないほど弾力性があります。 – sscirrus

+0

'.is()'にアクセスするには、jQueryオブジェクトに '$(this)'をラップする必要があります。 –

1

あなたは、チェックボックスがチェックされているかどうかを確認し、適切に対応することができます)( `トグルを使用して`、おそらく表示/非表示の状態と同期の出入りがチェック/未チェック状態になることができると注意を

$('.pharmacy').click(function() { 
    if(this.checked) 
     $('.pcsoc').show(); 
    else 
     $('.pcsoc').hide(); 
}); 
関連する問題