回答編集履歴
1
バグ修正
answer
CHANGED
@@ -1,36 +1,4 @@
|
|
1
|
-
う~ん、こういうことでしょうか?
|
2
|
-
|
3
|
-
```
|
4
|
-
|
1
|
+
すみません、さきほど掲載したの間違えていました。
|
5
|
-
|
2
|
+
CSSのソースもつけていなかったのでわかりにくかったと思います。
|
3
|
+
ちょっとわかりやすいように横並びに変えちゃいましたがこんな感じでしょうか?
|
6
|
-
|
4
|
+
[サンプル](http://codepen.io/mayo31/pen/XKxzzV)
|
7
|
-
cnt = 0;
|
8
|
-
id = $(this).attr('id');
|
9
|
-
li = '.' + id;
|
10
|
-
//チェックしたときは該当するclassを持つ要素を表示
|
11
|
-
if($(this).prop('checked')===true) {
|
12
|
-
$(li).css('display','block');
|
13
|
-
}
|
14
|
-
//チェックを外したときは
|
15
|
-
else{
|
16
|
-
//該当するclassを持つ要素をループ
|
17
|
-
$.each($(li),function(){
|
18
|
-
//今見ている要素のclass群をループ
|
19
|
-
classArr = $(this).attr("class").split(" ");
|
20
|
-
i = classArr.length;
|
21
|
-
$.each(classArr,function(){
|
22
|
-
//持っているclass群の中で、ほかにチェックされているか判定
|
23
|
-
id = '#' + classArr[i];
|
24
|
-
if($(id).prop('checked')===true){
|
25
|
-
cnt++;
|
26
|
-
}
|
27
|
-
});
|
28
|
-
if(cnt<1){
|
29
|
-
$(li).css('display','none');
|
30
|
-
}
|
31
|
-
|
32
|
-
});
|
33
|
-
}
|
34
|
-
})
|
35
|
-
|
36
|
-
```
|