我对 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");
});
});