前提・実現したいこと
複数のチェックボックス全てにチェックを入れたり外したりということを実現させようと思っていますが、labelでinput要素を挟むと、できなくなってしまいます。
jQueryの方を書き換えてなんとか、実現させたいのですが、どこをどの様に変更すればいいのでしょうか。
どなたか教えてくださいませ。
よろしくお願いいたします。
該当のソースコード
HTML
1<ul> 2 <li><label><input type="checkbox"><span>親</span></label> 3 <ul> 4 <li><label><input type="checkbox"><span>子1</span></label></li> 5 <li><label><input type="checkbox"><span>子2</span></label></li> 6 <li><label><input type="checkbox"><span>子3</span></label> 7 <ul> 8 <li><label><input type="checkbox"><span>子孫3-1</span></label></li> 9 <li><label><input type="checkbox"><span>子孫3-2</span></label></li> 10 <li><label><input type="checkbox"><span>子孫3-3</span></label></li> 11 </ul> 12 </li> 13 </ul> 14 </li> 15</ul>
jQuery
1$(function() { 2 $("ul input:checkbox").change(function(){ 3 if ($(this).is(':checked')) { 4 $(this).parent().find("input:checkbox").prop('checked', true); 5 } 6 else { 7 $(this).parent().find("input:checkbox").prop('checked', false); 8 $(this).parents('li').each(function(){ 9 $(this).children('input:checkbox').prop('checked', false); 10 }); 11 } 12 }); 13});
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。