2012-03-28 13 views
1
私はこの議論からスクリプトを使用しています

https://wordpress.stackexchange.com/a/14711/14649jQueryのトグル()問題

それは素晴らしい作品が、私は異なる無線入力を選択すると、元の箱は、(悪い)オフトグルしませんが、新しいですボックスが表示されます(良い)。これは私が追加したボックスにも起こります。

jQueryは私のものではありません。私は幸運で研究しています!ここに私のコードです:

<script type='text/javascript'> 
jQuery(document).ready(function($) { 
     $('#feature_box').hide(); 
     $('#standard_lead').hide();    

     // one box 
     $('#value_feature_box').is(':checked') ? $("#feature_box").show() : $("#feature_box").hide(); 
     $('#value_feature_box').click(function() { 
      $("#feature_box").toggle(this.checked); 
     }); 

     // second box 
     $('#value_standard_lead').is(':checked') ? $("#standard_lead").show() : $("#standard_lead").hide(); 
     $('#value_standard_lead').click(function() { 
      $("#standard_lead").toggle(this.checked); 
     }); 
    }); 
</script> 

ありがとうございます!あなたはクリックで一つだけのボックスをトグルしている

+0

関連するHTMLも投稿できますか? –

+0

あなたのマークアップを追加できますか? 'feature_box'は何ですか?それはdivですか?このコードは、idの代わりにクラスを使用してモジュール化できます。 –

答えて

0

他のボックスが消えない理由は、あなたがそれを知らせなかったからです!

$('#value_feature_box').click(function() { 
    $("#feature_box").toggle(this.checked); 
}); 

#value_feature_boxをクリックすると、#feature_boxの表示を切り替えます。 #value_feature_boxがチェックボックスでない場合は、内部コードを$("#feature_box").toggle();に変更します。あなたが同様に消えるために何かをしたい場合は、それを伝える:トグルの内側に

$('#value_feature_box').click(function() { 
    $("#feature_box").toggle(); 
    $("#standard_lead").toggle(); 
}); 

値を()(真または偽)現れたり消えするか、それを語っている括弧。

+0

ありがとうございます。これは私が思いついた解決策でしたが、約10個のボックスを持つつもりだったのでかなりぎこちなく、 '$(" box_id ")。toggle();を使用していると感じました。私はそれを合理化するために各ボックスにクラスとして割り当てています。ありがとう! –

0

は - あなたは両方を切り替える必要があり、このjsFiddleを参照してください。

これにより

(および他の箱についても同様に):

$('#value_feature_box').click(function() { 
     $("#feature_box").toggle(this.checked); 
    }); 

あなたは基本的に言っています - クリックすると(this.checkedは常にtrueになります)、要素を切り替えます。ドキュメントから:

あなたはshowOrHideパラメータを持つトグルのバージョンを使用して、常にそう常に示すとクリックされた専用ボックス、真渡しています。

+0

ありがとうございます。これは私が思いついた解決策でしたが、約10個のボックスを持つつもりだったのでかなりぎこちなく、 '$(" box_id ")。toggle();を使用していると感じました。私はそれを合理化するために各ボックスにクラスとして割り当てています。ありがとう! –