質問するログイン新規登録

回答編集履歴

1

調整

2023/08/02 02:13

投稿

yambejp
yambejp

スコア117975

answer CHANGED
@@ -1,3 +1,28 @@
1
1
  どういうUIを想定しているかわかりませんが
2
2
  optionをfilterして非表示にすればよいのでは?
3
- 昔のIEとかは非表示にできませんでしたがいまのモダンブラウザなら問題ないはずです
3
+ 昔のIEとかは非表示にできませんでしたがいまのモダンブラウザなら問題ないはずです
4
+
5
+ # 参考
6
+ ```javascript
7
+ <script>
8
+ document.addEventListener('input',({target})=>{
9
+ if(target.matches('#search')){
10
+ const v=target.value;
11
+ s1.querySelectorAll('option').forEach(x=>{
12
+ const flg=x.value!="" && !new RegExp(v).test(x.value);
13
+ x.toggleAttribute('hidden',flg);
14
+ });
15
+ }
16
+ });
17
+ </script>
18
+ <input id="search">
19
+ <select id="s1">
20
+ <option value="">--</option>
21
+ <option value="a1">a1</option>
22
+ <option value="a2">a2</option>
23
+ <option value="a3">a3</option>
24
+ <option value="b1">b1</option>
25
+ <option value="b2">b2</option>
26
+ <option value="c1">c1</option>
27
+ </select>
28
+ ```