jQueryを使ったWebフォームの折りたたみについて
商品購入フォームなどで商品を1つでも選択したら、個人情報を入力したいと思って作ってみました。
チェックボックスが一つだけで表示・非表示を切り替えるならtoggleSlide()の方が簡単です。
「複数のチェックボックスのどれもチェックされてなかったら非表示。1つ以上チェックされていれば表示」という仕様なら以下のようにします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<html> <head> <title></title> <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'> </script> <script> $(function() { //最初は隠しておく $("#content_box").hide(); //チェックボックスのどれかがクリックされたら $('.check_group').click(function() { //1つもチェックされていなかったら if( $(".check_group:checked").length === 0 ) { $("#content_box").slideUp("slow"); //非表示にする } else { $("#content_box").slideDown("fast"); //表示させる } }); }); </script> </head> <body> <label><input type="checkbox" class="check_group">商品その1</label> <label><input type="checkbox" class="check_group">商品その2</label> <label><input type="checkbox" class="check_group">商品その2</label> <div id="content_box">formの要素</div> </body> </html> |