Jquery自动完成点击外部bug

时间:2014-04-22 21:36:39

标签: jquery jquery-ui jquery-autocomplete

我在使用Jquery自动完成时面临以下问题: - 如果没有选择任何内容,我尝试(和管理)清除文本字段,但如果用户在没有选择任何内容的情况下单击外部,然后再次执行相同的请求则不会发生任何事情

  • 你可以自己尝试一下:(一个不是我的小提琴,但以同样的方式窃听)

http://jsfiddle.net/ZcHgY/

  • 尝试键入" 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>');

     }
 });

});

欢迎任何想法! THX

1 个答案:

答案 0 :(得分:0)

设置选项中的延迟将消除此“错误”,例如0或100(对于远程数据不建议使用0,因为它可能会对服务器施加过多负载,但对于示例中的本地数组则很好):

http://jsfiddle.net/ZcHgY/22/

$(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>');

   }
 });