回答編集履歴

2

調整

2017/03/31 06:37

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -50,8 +50,6 @@
50
50
 
51
51
  $('.js-check-all').on('click, change', function() {
52
52
 
53
- $('li.js-checkbox').toggleClass('is-selected',$(this).prop('checked'));
54
-
55
53
  $(this).prop('disabled',true);
56
54
 
57
55
  $('.js-checkbox').prop('checked',false).trigger('change');

1

追記

2017/03/31 06:37

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -25,3 +25,65 @@
25
25
 
26
26
 
27
27
  ```
28
+
29
+
30
+
31
+ # sample
32
+
33
+ 例示のhtmlから想像されるjavascriptを書いておきます
34
+
35
+
36
+
37
+ ```HTML
38
+
39
+ <style>
40
+
41
+ li.is-selected{color:lime;}
42
+
43
+ </style>
44
+
45
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
46
+
47
+ <script>
48
+
49
+ $(function(){
50
+
51
+ $('.js-check-all').on('click, change', function() {
52
+
53
+ $('li.js-checkbox').toggleClass('is-selected',$(this).prop('checked'));
54
+
55
+ $(this).prop('disabled',true);
56
+
57
+ $('.js-checkbox').prop('checked',false).trigger('change');
58
+
59
+ });
60
+
61
+ $('.js-checkbox').on('click, change', function() {
62
+
63
+ var flg=$(this).prop('checked');
64
+
65
+ $('li').filter($(this).data('target')).toggleClass('is-selected',flg).prop('checked',flg);
66
+
67
+ var flg=$('.js-checkbox:checked').length==0;
68
+
69
+ $('.js-check-all').prop('checked',flg).prop('disabled',flg);
70
+
71
+ }).trigger('change');
72
+
73
+ });
74
+
75
+ </script>
76
+
77
+ <ul>
78
+
79
+ <li><input type="checkbox" name="faq-all" disabled="disabled" checked class="js-check-all" /><label for="checkboxAll" class="form--default__checkbox"><i></i>all</label></li>
80
+
81
+ <li class="faq01"><input type="checkbox" name="faq-nutrition" id="checkbox01" class="js-checkbox" data-target=".faq01"/><label for="checkbox01" class="form--default__checkbox"><i></i>1</label></li>
82
+
83
+ <li class="faq02"><input type="checkbox" name="faq-campaign" class="js-checkbox" id="checkbox02" data-target=".faq02"/><label for="checkbox02" class="form--default__checkbox"><i></i>2</label></li>
84
+
85
+ </ul>
86
+
87
+
88
+
89
+ ```