jQuery UI のオートコンプリートに奇妙な問題があります。テキスト フィールドがフォーカスされると、オートコンプリートのすべてのオプションのリストが表示されるようにします。これは機能しますが、アイテムをクリックして選択すると、提案は開いたままになります。オートコンプリートが正常に機能するように、提案リストを非表示にしたい。
キーボードでアイテムを選択すると問題なく動作しますが、アイテムをクリックすると、リストが何度も何度も再表示されます。
この問題をさらに奇妙にするために、値を手動で渡すだけで機能が完全に機能します。JSONソースを渡したときにのみ発生し始めます。
何か案は!?
作業コード- http://jsbin.com/aFeceTe/1/edit?html,js,output
$(document).ready(function(){
var test = [ { value: "1",label: "Google" }, { value: "2", label:"StackOverflow" }, { value: "3", label:"Microsoft" }, { value: "4", label:"Yahoo" } ];
$("input").autocomplete({
source: test,
delay: 0,
minLength: 0,
select: function(event, ui) {
event.preventDefault();
$(this).val(ui.item.label).attr('title', ui.item.label);
}
}).focus(function () {
$(this).val('').autocomplete("search");
});
});
壊れたコード- http://jsbin.com/uyOGUVU/6/edit?html,js,output
$(document).ready(function(){
$("input").autocomplete({
source: 'http://jsbin.com/IdIXIRU/3/js',
delay: 0,
minLength: 0,
select: function(event, ui) {
event.preventDefault();
$(this).val(ui.item.label).attr('title', ui.item.label);
}
}).focus(function () {
$(this).val('').autocomplete("search");
});
});