目的の結果を選択すると、オートコンプリートの結果ボックスがもう一度ポップアップするため、このソリューションは私にとってはうまくいきませんでした。これは、.focus
メソッドがclose:
イベントの前に実行されたためです。
さらに、その回答のコードによると、ボックスが閉じられると、closing
変数が後に実行されたtrue
ために残ったため、ボックスは元に戻りません。close:
.focus
次のコードは、これら 2 つの問題を解決しました (イベントで変数closing
が false に設定されていることに注意してください)。close:
var closing = false;
$(function() {$(".autocomplete").autocomplete({
source: 'remote.php',
minLength: 0,
open: function(){
closing=true; },
close: function(){
closing = false;
}
})
.focus(function(){
if ((!closing) && ($(this).val() !== "")){
$(this).autocomplete("search");
}
});
})