回答編集履歴
1
調整
test
CHANGED
@@ -1,3 +1,60 @@
|
|
1
1
|
"red yellow"はあくまで"red yellow"という一つの値にすぎません
|
2
2
|
単純に「red」か「yellow」にヒットするデータを探せばいいだけでは?
|
3
3
|
|
4
|
+
# 追記
|
5
|
+
ざっくりこんな感じでデータをもってみては?
|
6
|
+
```javascript
|
7
|
+
<style>
|
8
|
+
.hide{display:none;}
|
9
|
+
</style>
|
10
|
+
<script>
|
11
|
+
window.addEventListener('DOMContentLoaded', ()=>{
|
12
|
+
document.querySelector('[name="type"]').addEventListener('change',e=>{
|
13
|
+
const v=e.target.value;
|
14
|
+
document.querySelectorAll('[data-type]').forEach(x=>{
|
15
|
+
x.classList.toggle('hide',v!=="all" && !JSON.parse(x.dataset.type).includes(Number(v)));
|
16
|
+
});
|
17
|
+
});
|
18
|
+
});
|
19
|
+
</script>
|
20
|
+
<div class="contents">
|
21
|
+
<div class="filter-area">
|
22
|
+
<div class="wrap">
|
23
|
+
<div class="box">
|
24
|
+
<p>選択項目</p>
|
25
|
+
<div class="select">
|
26
|
+
<select class="form-select js-filter" name="type">
|
27
|
+
<option value="all">全て</option>
|
28
|
+
<option value="1">タイプ01</option>
|
29
|
+
<option value="2">タイプ02</option>
|
30
|
+
<option value="3">タイプ03</option>
|
31
|
+
</select>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
<!-- /filter-area -->
|
37
|
+
<div class="item-area">
|
38
|
+
<div class="wrap">
|
39
|
+
<!------ 結果メッセージ ------>
|
40
|
+
<p>検索結果:<span class="js-filter-msg"></span></p>
|
41
|
+
<!------ アイテム一覧 ------>
|
42
|
+
<div class="js-filter-items">
|
43
|
+
<div class="js-filter-item" data-type="[1]">
|
44
|
+
アイテム01
|
45
|
+
</div>
|
46
|
+
<div class="js-filter-item" data-type="[2]">
|
47
|
+
アイテム02
|
48
|
+
</div>
|
49
|
+
<div class="js-filter-item" data-type="[3]">
|
50
|
+
アイテム03
|
51
|
+
</div>
|
52
|
+
<div class="js-filter-item" data-type="[1,2]">
|
53
|
+
アイテム04
|
54
|
+
</div>
|
55
|
+
</div>
|
56
|
+
</div>
|
57
|
+
</div>
|
58
|
+
<!-- /item-area -->
|
59
|
+
</div>
|
60
|
+
```
|