我想选择第一项,但不想用它填充输入。因此,如果我按回车键,则会选择第一个值,但输入将永远不会自动填充,直到用户点击进入或点击屏幕上的其他位置,导致列表关闭。
我看过selectFirst和autoFocus,但它们并不是我想要的。不确定我要求的是否可能,但在我看来它一定是。
有什么想法吗?
答案 0 :(得分:2)
首先,selectFirst
和autoFocus
不是jQueryUI autocomplete上的选项。它们来自最终被采用到jQueryUI中的插件,所以发现here的文档已被弃用。
我并不清楚你想要完成什么,但是当你在下拉菜单中关注它时,听起来你只是不希望一个项目填充input
元素。这确实是可能的:
$("#autocomplete").autocomplete({
source: [...],
focus: function() {
return false;
}
});
从focus
事件处理程序返回false
将阻止菜单中的焦点项填充下拉列表。
请注意,点击页面上的其他位置不会填充input
元素。这是因为当您将鼠标从菜单移开时,您选择的项目将失去焦点。这对我来说似乎是自然的行为,但也许有办法让这种情况发生。
以下是一个有效的例子:http://jsfiddle.net/andrewwhitaker/RyTuV/
答案 1 :(得分:0)
您可以同时使用focus
事件处理程序和autoFocus
选项填充隐藏的输入。然后,当自动完成菜单关闭时,使用close
事件处理程序使用隐藏输入填充所需的任何字段。