前提・実現したいこと
初心者です。検索しても分からなかったので教えてください。
チェックボックスを一括ですべてチェックを入れたり、チェックを外したりする装丁があります。
更新にあたり、項目が増え、項目ごとに一括操作したいのですが、すべてに反映してしまいます。
項目ごとに<input>にname属性で指定おりますので、その属性を条件に加えたいです。
よろしくお願いたします。
発生している問題・エラーメッセージ
.filter('xxxx')
name属性を指定する場合の「xxxx」の記述方法が分かりません。
また、.filterで合っているのかも分かりません。
該当のソースコード
HTML
1<ul> 2 <li> 3 <input type="checkbox" name="null" value="1">1このチェックボックスには反映させたくない</li> 4 <li> 5 <input type="checkbox" name="null" value="2">2このチェックボックスには反映させたくない</li> 6 <li> 7 <input type="checkbox" name="null" value="3">3このチェックボックスには反映させたくない</li> 8 <li> 9 <input type="checkbox" name="null" value="4">4このチェックボックスには反映させたくない</li> 10</ul> 11<div class="dateSearchBtn"> 12 <p class="level-checked"><span>全て選択する</span> </p> 13 <p class="level-checked-clear"><span>全て解除する</span> </p> 14 <!-- /.dateSearchBtn --> 15</div> 16<div class="dateSearchCheck"> 17<ul> 18 <li> 19 <input type="checkbox" name="level" value="a">A全選択・解除を反映させたい</li> 20 <li> 21 <input type="checkbox" name="level" value="b">B全選択・解除を反映させたい</li> 22 <li> 23 <input type="checkbox" name="level" value="c">C全選択・解除を反映させたい</li> 24 <li> 25 <input type="checkbox" name="level" value="d">D全選択・解除を反映させたい</li> 26</ul> 27
JavaScript
1;(function($,window,c){ 2 $(function(){ 3 if( !$( c.checked.className ).length ) return; 4 $( c.checked.className ).on('click',function(){ 5 $('body').find('form').find('input').filter(':checkbox').each(function(){ 6 $(this).prop('checked', true); 7 }); 8 }); 9 $( c.clear.className ).on('click',function(){ 10 $('body').find('form').find('input').filter(':checkbox').each(function(){ 11 $(this).prop('checked', false); 12 }); 13 }); 14 }); 15})(jQuery,window,{ 16 checked : { 17 className : '.level-checked' 18 }, 19 'clear' : { 20 className : '.level-checked-clear' 21 } 22});
試したこと
$('body').find('form').find('input').filter(':checkbox').each(function(){
この文を下のパターンで試しましたがダメでした。
$('body').find('form').find('input').filter(':checkbox').filter(':level').each(function(){
$('body').find('form').find('input').filter(':checkbox').filter('level').each(function(){
$('body').find('form').find('input').find('level').filter(':checkbox').each(function(){
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー