【发布时间】:2012-07-27 04:05:30
【问题描述】:
我正在使用 JQuery UI 自动完成。一切都按预期工作,但是当我使用键盘上的向上/向下键循环时,我注意到文本框按预期填充了列表中的项目,但是当我到达列表末尾并再次按下向下箭头时时间,我输入的原始术语出现了,基本上允许用户提交该条目。
我的问题:有没有一种简单的方法可以将选择限制为列表中的项目,并从键盘选择中删除输入中的文本?
例如:如果我有一个包含{'Apples (AA)', 'Oranges (AAA)', 'Carrots (A)'} 的列表,如果用户键入“app”,我将自动选择列表中的第一项(此处为“Apples (AA)”),但如果用户按下向下箭头,“应用程序”再次出现在文本框中。我怎样才能防止这种情况发生?
谢谢。
【问题讨论】:
-
每次加载列表时都会触发一个事件。检查是否只有一个元素,然后向该项目触发
click事件或选择该项目 -
我总是选择第一项,但如果我使用键盘循环浏览列表,当我到达列表末尾时,它会显示文本框中的文本。这就是我要防止的;基本上,我希望它回到列表的顶部。
-
focus: function( event, ui ) { return false; }
标签: jquery jquery-ui jquery-ui-autocomplete