質問編集履歴
3
追記の文章が読みづらかったので修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -309,7 +309,7 @@
|
|
309
309
|
3.「果物」を選択すると、以下のように表示される
|
310
310
|
検索結果:1件見つかりました。果物といえばなんでしょう
|
311
311
|
|
312
|
-
#2022/12/15 追記
|
312
|
+
### 2022/12/15 追記
|
313
313
|
無事、クリック時に検索が出来るようになりました!
|
314
314
|
全体ソースを更新しました。
|
315
315
|
ありがとうございました!
|
2
選択時に絞り込みが出来るようになりました、ありがとうございます!ただ、選択時にオートコンプリートのメニューが消えません…。
test
CHANGED
File without changes
|
test
CHANGED
@@ -152,12 +152,12 @@
|
|
152
152
|
});
|
153
153
|
```
|
154
154
|
|
155
|
-
### 試したこと
|
155
|
+
### 試したこと
|
156
156
|
|
157
157
|
selectで追加すれば動作するのかと思ったのですが
|
158
158
|
全然関係ない行にエラーが出たりして動作しません。
|
159
159
|
|
160
|
-
###現段階の最終ソース
|
160
|
+
### 現段階の最終ソース
|
161
161
|
|
162
162
|
```HTML
|
163
163
|
<HTML>
|
@@ -274,9 +274,10 @@
|
|
274
274
|
},
|
275
275
|
select: function(event, ui) {
|
276
276
|
console.log(ui.item.value);
|
277
|
-
|
277
|
+
this.value = ui.item.value;
|
278
|
+
searchWord.apply(this, arguments);
|
278
|
-
|
279
|
+
searchWord();
|
279
|
-
|
280
|
+
return false;
|
280
281
|
}
|
281
282
|
});
|
282
283
|
|
@@ -285,7 +286,7 @@
|
|
285
286
|
</html>
|
286
287
|
```
|
287
288
|
|
288
|
-
###現段階で困っていること
|
289
|
+
### 現段階で困っていること
|
289
290
|
参考:http://tk2-207-13211.vs.sakura.ne.jp/2015/09/335/
|
290
291
|
|
291
292
|
「$('#search-text').on('change', searchWord);」を追加したら
|
@@ -307,3 +308,16 @@
|
|
307
308
|
2.「果物」という候補が表示される
|
308
309
|
3.「果物」を選択すると、以下のように表示される
|
309
310
|
検索結果:1件見つかりました。果物といえばなんでしょう
|
311
|
+
|
312
|
+
#2022/12/15 追記
|
313
|
+
無事、クリック時に検索が出来るようになりました!
|
314
|
+
全体ソースを更新しました。
|
315
|
+
ありがとうございました!
|
316
|
+
|
317
|
+
あとは、クリック時にオートコンプリートをCloseしたいのです。
|
318
|
+
普通はクリック時にオートコンプリートのリストが非表示になると思いますが
|
319
|
+
なぜか閉じてくれません。
|
320
|
+
$("#search-text").autocomplete("close");
|
321
|
+
これでクローズイベントを呼べると思ったのですが呼べないみたいですね。
|
322
|
+
1時間ほど調べましたが、特に状況変わらずです。
|
323
|
+
原因について思い当たることがありましたら教えて下さいorz
|
1
最新のソースと、今困っていることを詳細に記載しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -157,3 +157,153 @@
|
|
157
157
|
selectで追加すれば動作するのかと思ったのですが
|
158
158
|
全然関係ない行にエラーが出たりして動作しません。
|
159
159
|
|
160
|
+
###現段階の最終ソース
|
161
|
+
|
162
|
+
```HTML
|
163
|
+
<HTML>
|
164
|
+
<Head>
|
165
|
+
<link rel="stylesheet" href="style.css"/>
|
166
|
+
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" />
|
167
|
+
<script src="jquery-3.6.0.min.js"></script>
|
168
|
+
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
|
169
|
+
<link rel="stylesheet" style="text/css" href="lightbox.css">
|
170
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
171
|
+
<html manifest="cache-manifest.appcache">
|
172
|
+
<meta http-equiv="Cache-Control" content="no-store">
|
173
|
+
</Head>
|
174
|
+
<title>テスト</title>
|
175
|
+
<body>
|
176
|
+
<div style="text-align: center;">
|
177
|
+
<div class="search-area">
|
178
|
+
<form>
|
179
|
+
<input type="text" id="search-text" placeholder="検索ワードを入力">
|
180
|
+
</form>
|
181
|
+
<div class="search-result">
|
182
|
+
<div class="search-result__hit-num"></div>
|
183
|
+
<div id="search-result__list"></div>
|
184
|
+
</div>
|
185
|
+
</div>
|
186
|
+
</div>
|
187
|
+
|
188
|
+
<div class="qa-list mts">
|
189
|
+
<h2 id="H1">良くある質問</h2>
|
190
|
+
<dl class="qa">
|
191
|
+
<dt id="H1_Q1">テスト①</dt>
|
192
|
+
<dd>テスト①、テスト案件
|
193
|
+
<br>テストによるテストのためのテスト
|
194
|
+
<div class="kensaku">テスト①
|
195
|
+
テスト①、テスト案件 テストによるテストのためのテスト</div>
|
196
|
+
<br></dd>
|
197
|
+
<dt id="H1_Q2">果物といえばなんでしょう</dt>
|
198
|
+
<dd>果物と言えばいちごです。、
|
199
|
+
<br>クリスマスになると値上がりする気がします。
|
200
|
+
<br>
|
201
|
+
<div class="kensaku">果物といえばなんでしょうか?
|
202
|
+
果物と言えばいちごです。
|
203
|
+
クリスマスになると値上がりする気がします。
|
204
|
+
</div>
|
205
|
+
<br></dd>
|
206
|
+
<dt id="H1_Q3">今年はボッチクリスマスですか?</dt>
|
207
|
+
<dd>はい、ボッチクリスマスの予定です。
|
208
|
+
<br>美味しいケーキでも買おうかと思っています。
|
209
|
+
<br><br>
|
210
|
+
<div class="kensaku">今年はボッチクリスマスですか?
|
211
|
+
はい、ボッチクリスマスの予定です。
|
212
|
+
美味しいケーキでも買おうかと思っています。</div>
|
213
|
+
<br></dd>
|
214
|
+
</div>
|
215
|
+
|
216
|
+
<script>
|
217
|
+
var words = [
|
218
|
+
{ label: "果物", kana: "くだもの"},
|
219
|
+
{ label: "電気", kana: "でんき"},
|
220
|
+
];
|
221
|
+
|
222
|
+
//$(function () {
|
223
|
+
|
224
|
+
var searchWord = function(){
|
225
|
+
var searchResult,
|
226
|
+
searchText = $(this).val(),
|
227
|
+
targetText,hitNum,targetID,targetTitle;
|
228
|
+
|
229
|
+
searchResult = [];
|
230
|
+
searchResultTitle = [];
|
231
|
+
searchResultID = [];
|
232
|
+
|
233
|
+
$('#search-result__list').empty();
|
234
|
+
$('.search-result__hit-num').empty();
|
235
|
+
|
236
|
+
if (searchText != '') {
|
237
|
+
$('.qa-list dt').each(function(e) {
|
238
|
+
targetText = $(this).next().children('div').text();
|
239
|
+
targetTitle = $(this).text();
|
240
|
+
targetID = $(this).attr("id");
|
241
|
+
|
242
|
+
searchText=searchText.toString().replace(" "," ");
|
243
|
+
let MyText = searchText.split(' ');
|
244
|
+
|
245
|
+
if (MyText.every(x=>targetText.indexOf(x)!=-1)) {
|
246
|
+
searchResult.push(targetText);
|
247
|
+
searchResultTitle.push(targetTitle);
|
248
|
+
searchResultID.push(targetID);
|
249
|
+
}
|
250
|
+
});
|
251
|
+
|
252
|
+
for (var i = 0; i < searchResult.length; i ++) {
|
253
|
+
$('#search-result__list').append('<a href="#' + searchResultID[i] + '">' + searchResultTitle[i] + '</a><br>' );
|
254
|
+
}
|
255
|
+
hitNum = '<span>検索結果</span>:' + searchResult.length + '件見つかりました。';
|
256
|
+
$('.search-result__hit-num').append(hitNum);
|
257
|
+
}
|
258
|
+
};
|
259
|
+
|
260
|
+
$('#search-text').on('change', searchWord);
|
261
|
+
$('#search-text').on('input', searchWord);
|
262
|
+
|
263
|
+
|
264
|
+
$("#search-text").autocomplete({
|
265
|
+
source: function (request, response) {
|
266
|
+
var list = [];
|
267
|
+
list = words.filter(function (word) {
|
268
|
+
return (
|
269
|
+
word.label.indexOf(request.term) === 0 ||
|
270
|
+
word.kana.indexOf(request.term) === 0
|
271
|
+
);
|
272
|
+
});
|
273
|
+
response(list);
|
274
|
+
},
|
275
|
+
select: function(event, ui) {
|
276
|
+
console.log(ui.item.value);
|
277
|
+
this.value = ui.item.value;
|
278
|
+
searchWord;
|
279
|
+
return false;
|
280
|
+
}
|
281
|
+
});
|
282
|
+
|
283
|
+
</script>
|
284
|
+
</body>
|
285
|
+
</html>
|
286
|
+
```
|
287
|
+
|
288
|
+
###現段階で困っていること
|
289
|
+
参考:http://tk2-207-13211.vs.sakura.ne.jp/2015/09/335/
|
290
|
+
|
291
|
+
「$('#search-text').on('change', searchWord);」を追加したら
|
292
|
+
以下の【実際の動作】になりました。
|
293
|
+
|
294
|
+
【実際の動作】
|
295
|
+
1.「く」と入力する
|
296
|
+
2.「果物」という候補が表示される
|
297
|
+
3.「果物」を選択する
|
298
|
+
(選択してもサジェストの枠が消えない)
|
299
|
+
4.ほかのものにフォーカスを当てる(関係ないところをクリックする)
|
300
|
+
5.以下のように表示される
|
301
|
+
検索結果:1件見つかりました。果物といえばなんでしょう
|
302
|
+
|
303
|
+
でも希望の動作とは違います。
|
304
|
+
|
305
|
+
【希望の動作】
|
306
|
+
1.「く」と入力する
|
307
|
+
2.「果物」という候補が表示される
|
308
|
+
3.「果物」を選択すると、以下のように表示される
|
309
|
+
検索結果:1件見つかりました。果物といえばなんでしょう
|