jQueryUI自动完成:触发文本框焦点

时间:2011-11-15 23:50:36

标签: jquery jquery-ui jquery-ui-autocomplete

我正在尝试在文本框焦点上打开一个jQuery自动完成实例,并从远程源获取数据。我的尝试近似于此处显示:

http://jsfiddle.net/Ug2aG/1/

这样做的问题是,当您从下拉列表中选择一个值时,您会注意到对文本框焦点方法的额外调用。我无法找到防止这种额外呼叫的方法,因为它干扰了功能。

有没有更好的方法来做我想要实现的目标?

2 个答案:

答案 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会自动聚焦。

这可能看起来很奇怪,但可能与使用UPDOWN箭头导航下拉列表有关。在这种情况下,您希望焦点返回input

答案 1 :(得分:0)

是因为你使用追加..

试试这个:

$('#status').html('<br />getting values...');