表題の通り、チェックボックスの一括選択・解除とCSSによる装飾を共存させたいです。
現在一括選択をjQueryで以下のように実現しています。
html
1<li><label><input type="checkbox" value="" id="allcheck" onclick="allCheck();">全てチェック/解除</label></li> 2<li><label><input type="checkbox" class="onecheck" name="genre[]" value="1" onclick="oneCheck();" />ジャンル1</label></li> 3<li><label><input type="checkbox" class="onecheck" name="genre[]" value="2" onclick="oneCheck();" />ジャンル2</label></li> 4<li><label><input type="checkbox" class="onecheck" name="genre[]" value="3" onclick="oneCheck();" />ジャンル3</label></li> 5<li><label><input type="checkbox" class="onecheck" name="genre[]" value="4" onclick="oneCheck();" />ジャンル4</label></li> 6<li><label><input type="checkbox" class="onecheck" name="genre[]" value="5" onclick="oneCheck();" />ジャンル5</label></li>
javascript
1<script type="text/javascript"> 2//全選択チェックボックス用処理 3function allCheck() { 4 if ($("#allcheck").is(":checked")) { 5 $(".onecheck").attr("checked", true); 6 } else { 7 $(".onecheck").attr("checked", false); 8 } 9} 10 11//個別選択チェックボックス用処理 12function oneCheck() { 13 var count = $(".onecheck").length; 14 15 for (var i=0; i<count; i++) { 16 if (!$(".onecheck").eq(i).is(":checked")) { 17 $("#allcheck").attr("checked", false); 18 return; 19 } 20 } 21 $("#allcheck").attr("checked", true); 22} 23</script>
これだけなら何の問題もないのですが、ここにCSSで装飾をしたいです。
CSSは詳しくないのでいろいろなサイトを見ているのですが、たいていが
CSS
1 input[type=checkbox] { 2 display: none; 3}
とすることで本来のチェックボックスを見えなくしているせいか、一括チェックとの共存ができません。
どちらもまとめて設定できるような方法があれば一番ですが、なければどのような方法でもいいのでご教授いただければと思います。
ちなみにli要素のnema属性に関しては、PHPの処理に必要なので変更ができません。
よろしくお願いいたします。
回答5件
あなたの回答
tips
プレビュー