2010-12-02 31 views
8

これを達成する方法がわかりません。私がしたいのは、チェックボックスの値に基づいてdivを非表示にすることです。これは私のトグルコードです。チェックボックスの値に基づいてdivを切り替えます

.always任意の助けに感謝チェックボックス

$(document).ready(function() { 
      $('.always').click(function() {     
       $('#dates').toggle(); 
      }); 
     }); 
+0

オフトピック:document.readyを使用している場合私は、別名/ショートカット 'jQuery(function($){});' – zzzzBov

+0

を頂きありがとうございます。これには理由がありますか? –

答えて

27

.toggle()はこのように、同様ブール値を取ります:

$(function() { 
    $('.always').change(function() {     
    $('#dates').toggle(!this.checked); 
    }).change(); //ensure visible state matches initially 
}); 

You can test it out here。私は上記の場合.alwaysがチェックされている場合は#datesを隠しておきたいと思います。

+0

これは何らかの理由で私にとってうまくいきません。私はチェックボックスをデフォルトにチェックさせようとしましたが、まだそれに対応していません。 –

+0

@ Dejan.S - 何らかのエラーが発生していますか? –

+0

私はそうすることはできません。私の火かき棒は私に何らかの奇妙な理由でJSをデバッグさせてくれません。 –

9
$('.always').change(function() { 
$('#dates').toggle(!this.checked); 
}); 
+0

change()は、チェックボックスが他の手段で変更されたときにも機能するため、これにははるかに優れています。 – jxpx777

+0

それを覚えておいてくれてありがとう。 –

+0

'.toggle()'を使って、可視状態が一致していて、他の方法で変更されていない場合は、ブール値を渡して*一致するようにしてください。 –

関連する問題