2009-05-01 24 views
0

我有一个非常有趣的案例,其中JQuery自动完成字段没有响应我第一次键入文本框,但是当我TAB外部的文本框,然后返回到第二次它的文本框开始回应和结果显示为我开始键入。为什么JQuery Autocomplete未执行?

当我使用萤火虫,我实际上可以看到我的应用程序中的AJAX函数被调用,并且结果被返回到html模板,但结果未被显示,可能是什么原因导致了这种行为?

我的功能绑定代码:

$(function() 
    { 
    $(document).ready(function(){ 
     $("#tags1").bind("keyup",autoFill) 
     }); 
    }); 

我的自动完成功能

function autoFill(){ 
      $("#tags1").autocomplete("/taglookup/", { 
     width: 320, 
     max: 4, 
     highlight: false, 
     multiple: true, 
     multipleSeparator:",", 
     scroll: true, 
     scrollHeight: 300, 
     delay: 10 
     }); 
     } 

我的文本框字段:

<input type="text" style="width: 400px" id="tags1" name="tags1" value=""> 

回答

3

你为什么做对KEYUP自动完成()调用?我认为这可能会导致你的问题。我会尝试直接从文档就绪事件调用autocomplete()。

$(document).ready(function(){ 

     $("#tags1").autocomplete("/taglookup/", { 
     width: 320, 
     max: 4, 
     highlight: false, 
     multiple: true, 
     multipleSeparator:",", 
     scroll: true, 
     scrollHeight: 300, 
     delay: 10 
     }); 

     }); 
0

如果您使用的是我今天所使用的相同的自动完成(上另一台电脑抱歉 - 找不到确切的版本) - 那么你不需要在keyu上绑定p - 只在启动时绑定一次 -

<script> 
    $('#tags1').autocomplete(....); 
</script> 

自动完成功能,处理所有的按键/聚焦变化等