我正在尝试在文本框焦点上打开一个jQuery自动完成实例,并从远程源获取数据。我的尝试近似于此处显示:
这样做的问题是,当您从下拉列表中选择一个值时,您会注意到对文本框焦点方法的额外调用。我无法找到防止这种额外呼叫的方法,因为它干扰了功能。
有没有更好的方法来做我想要实现的目标?
答案 0 :(得分:6)
这是一个不太讨厌的解决方案:
$('#tags').focus(function() {
/* Only search if the autocomplete menu is hidden: */
if ($("ul.ui-autocomplete").is(":hidden")) {
$(this).autocomplete('search', '');
}
});
更新示例: http://jsfiddle.net/9x3hu/
如果你很好奇,here's the line这会让你感到悲伤。看起来在您选择项目后,窗口小部件定位的input
会自动聚焦。
这可能看起来很奇怪,但可能与使用UP
和DOWN
箭头导航下拉列表有关。在这种情况下,您希望焦点返回input
。
答案 1 :(得分:0)
是因为你使用追加..
试试这个:
$('#status').html('<br />getting values...');