Jquery自动完成单击外部错误
我在使用Jquery自动完成时面临以下问题: -如果未选择任何内容,我将尝试(并管理)清除文本字段,但如果用户在未选择任何内容的情况下单击外部,然后再次执行相同的请求,则不会发生任何事情Jquery自动完成单击外部错误,jquery,jquery-ui,jquery-autocomplete,Jquery,Jquery Ui,Jquery Autocomplete,我在使用Jquery自动完成时面临以下问题: -如果未选择任何内容,我将尝试(并管理)清除文本字段,但如果用户在未选择任何内容的情况下单击外部,然后再次执行相同的请求,则不会发生任何事情 你可以自己试试:(一把不是我的小提琴,但用同样的方式演奏) 例如,尝试键入“per”,然后单击外部,然后再次键入“per”。除非您对请求进行更改,否则自动完成将不起作用 代码如下: $(function () { $("#tags").autocomplete({ source: avai
- 你可以自己试试:(一把不是我的小提琴,但用同样的方式演奏)
- 例如,尝试键入“per”,然后单击外部,然后再次键入“per”。除非您对请求进行更改,否则自动完成将不起作用
$(function () {
$("#tags").autocomplete({
source: availableTags,
close:function(){
this.value=''
},
select:function(e,ui){
/* do something with selected result*/
$('body').append('<div>You Chose '+ui.item.value+'</div>');
}
});
$(函数(){
$(“#标记”).autocomplete({
资料来源:availableTags,
关闭:函数(){
this.value=''
},
选择:功能(e、ui){
/*用选定的结果做某事*/
$('body').append('您选择了'+ui.item.value+'');
}
});
}))
欢迎任何意见!
Thx在选项中设置延迟将消除此“错误”,例如,将其设置为0或100(不建议远程数据设置为0,因为它可能会在服务器上增加额外负载,但对于本例中所示的本地阵列则可以):
$(函数(){
$(“#标记”).autocomplete({
资料来源:availableTags,
延误:100,
关闭:函数(){
this.value=''
},
选择:功能(e、ui){
/*用选定的结果做某事*/
$('body').append('您选择了'+ui.item.value+'');
}
});
我已经尝试过了,这就解决了问题。但只有当用户输入速度足够慢时,才会出现问题。即使键盘输入的延迟设置为100(默认情况下不是300),也可能会出现问题。难道没有一种防弹方法可以正确重置输入并允许更长的延迟吗?(在新搜索中,您可以随心所欲地快速输入)。
$(function () {
$("#tags").autocomplete({
source: availableTags,
delay: 100,
close:function(){
this.value=''
},
select:function(e,ui){
/* do something with selected result*/
$('body').append('<div>You Chose '+ui.item.value+'</div>');
}
});