Javascript 如何阻止jQuery autocomplete在多值选项中自动建议完整数组

Javascript 如何阻止jQuery autocomplete在多值选项中自动建议完整数组,javascript,jquery,jquery-ui,autocomplete,Javascript,Jquery,Jquery Ui,Autocomplete,使用jQuery自动完成多个值选项,如何防止对每个新词进行自动提示 问题是,当您按下“空格”键时,它会显示整个阵列,这会在使用大型阵列时减慢(挂起)某些浏览器 增加.minLength值对第一个单词有效,但一旦按空格键,它将显示整个数组 我怎样才能阻止它那样做 $(函数(){ var availableTags=[ “动作脚本”, “AppleScript”, “Asp”, “基本”, “C”, “C++”, “Clojure”, “COBOL”, “ColdFusion”, “二郎”, “

使用jQuery自动完成多个值选项,如何防止对每个新词进行自动提示

问题是,当您按下“空格”键时,它会显示整个阵列,这会在使用大型阵列时减慢(挂起)某些浏览器

增加
.minLength
值对第一个单词有效,但一旦按空格键,它将显示整个数组

我怎样才能阻止它那样做


$(函数(){
var availableTags=[
“动作脚本”,
“AppleScript”,
“Asp”,
“基本”,
“C”,
“C++”,
“Clojure”,
“COBOL”,
“ColdFusion”,
“二郎”,
“Fortran”,
“好极了”,
“哈斯克尔”,
“爪哇”,
“JavaScript”,
“口齿不清”,
“Perl”,
“PHP”,
“Python”,
“红宝石”,
“斯卡拉”,
“方案”
];
功能拆分(val){
返回val.split(/\s*/);
}
功能提取最后(学期){
返回拆分(term.pop();
}
$(“#标签”)
//选择项目时不要离开选项卡上的字段
.bind(“键控”,函数(事件){
如果(event.keyCode===$.ui.keyCode.TAB&&
$(此).data(“ui自动完成”).menu.active){
event.preventDefault();
}
})
.自动完成({
最小长度:3,
来源:功能(请求、响应){
//委托回自动完成,但提取最后一项
响应($.ui.autocomplete.filter(
availableTags,extractLast(request.term));
},
焦点:函数(){
//防止在焦点上插入值
返回false;
},
选择:功能(事件、用户界面){
var术语=分割(此值);
//删除当前输入
terms.pop();
//添加所选项目
术语推送(ui.item.value);
//添加占位符以在末尾获得逗号和空格
术语。推送(“”);
this.value=terms.join(“,”);
返回false;
}
});
});

您可以在如下所示的自动完成源方法中检查请求参数中的空字符串

 if(request.term===' ')
          {
            response([{value: "Enter Some text to search"}]);
            return false;
          }

看看这个工作示例,它可能会帮助您将这个litte if语句添加到源函数中

      if (extractLast( request.term ).replace(/ /g, "") == "") {
        return false;
      }
这里还有一个例子

      if (extractLast( request.term ).replace(/ /g, "") == "") {
        return false;
      }