jQuery UIのオートコンプリートで問題が起こる可能性があります。私のソースは、私はすべてが正常に動作しますjQuery UIオートコンプリートでは、入力フィールドにラベルの代わりに値が表示されます
$(function() {
$("#search").autocomplete({
source: PK.getAutocompleteSource(),
focus: function(event, ui) {
$("#search").val(ui.item.label);
return false;
},
select: function(event, ui) {
$("#search").val(ui.item.label);
PK.render(ui.item.value);
}
});
});
でウィジェットを起動してい
var ac = [
{
label: "One Thing",
value: "One-Thing"
},
{
label: "Two Thing",
value: "Two-Thing"
},
]
です。 #search
入力フィールドに入力すると、一致するラベルがドロップダウンに表示され、select
が正しく検索されます。ウィジェットは、#search
入力フィールドにlabel
という文字を表示しています。これは、矢印キー(またはマウス)を使用してドロップダウンで別のアイテムを選択するためです。ただし、Enterキーを押すとすぐに、#search
入力フィールドにlabel
の代わりにvalue
が入力されます。だからフィールドはの代わりにの1つのおもとと表示されます。
これを修正するにはどうすればよいですか?確かに私が期待しているのは、より合理的な行動ですね。
おかげで、 'event.preventDefault();'トリックをしました。真剣に、これはドキュメントにあるはずです。 – punkish
矢印キーを使用して選択すると、イベントはトリガーされません。 – dpp
@dpp 'focus'コールバック(元の質問内)はfalseを返しました。これは、使用する矢印キーを使用するときのデフォルトの動作をスキップする別の方法です'value'ではなく' label'です。リストから項目が選択されると、それは 'select'コールバックを呼び出し、' preventDefault() 'または' return false'を使ってデフォルトの動作をスキップします。 –