我正在使用JQuery UI自动完成。一切都按预期工作,但是当我使用键盘上的向上/向下键循环时,我注意到文本框按预期填充了列表中的项目,但是当我到达列表的末尾并点击向下箭头时间,我输入的原始条款显示,这基本上允许用户提交该条目。
我的问题:是否有一种简单的方法来限制列表中的项目的选择,并从键盘选择中删除输入中的文本?
例如:如果我有一个包含{‘苹果(AA)’,’橘子(AAA)”’胡萝卜(A)’}’的列表,如果用户键入’app’,我将自动选择列表中的第一个项目(“苹果(AA)”),但是如果用户按下向下箭头,文本框中再次显示“应用”。我该如何防范?
谢谢。
解决方法
对于强制选择,您可以使用
“change” event 的自动完成功能
var availableTags = [ "ActionScript","AppleScript" ]; $("#tags").autocomplete({ source: availableTags,change: function (event,ui) { if(!ui.item){ //http://api.jqueryui.com/autocomplete/#event-change - // The item selected from the menu,if any. Otherwise the property is null //so clear the item for force selection $("#tags").val(""); } } });