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

回答編集履歴

1

2015/02/18 03:49

投稿

kodama_h
kodama_h

スコア28

answer CHANGED
@@ -1,19 +1,17 @@
1
1
  これは、イベントハンドラの実行終了後に、selectイベントのデフォルトの挙動が実行されているからです。(そのため、選択したらキャンセルできます)
2
2
 
3
- [https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.autocomplete.js#L241](https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.autocomplete.js#L241)
3
+ https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.autocomplete.js#L241
4
4
 
5
5
  ということは、何かをクリックしたときに、ウィジェットがinputを埋める前にフォームは送信されます。
6
6
 
7
7
  以下で直せるかと思います:
8
8
 
9
- ```lang-javascript
10
9
  $("#searchform-input").autocomplete({
11
- select: function (a, b) {
10
+ select: function (a, b) {
12
- $(this).val(b.item.value);
11
+ $(this).val(b.item.value);
13
- $(".searchform1").submit()
12
+ $(".searchform1").submit()
14
- }
13
+ }
15
14
  });
16
- ```
17
15
 
18
16
  さて、おそらく、なぜキーボードを使うときにこうなるのか?と不思議に思っているかもしれません。
19
17