我有一个非常有趣的案例,其中JQuery Autocomplete字段在第一次输入TextBox时没有响应,但是当我在TextBox外面TAB然后第二次将光标返回到TextBox时它开始响应结果显示为我开始输入。
当我使用firebug时,我实际上可以看到我的应用程序中的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
});
}
我的TextBox字段:
<input type="text" style="width: 400px" id="tags1" name="tags1" value="">
答案 0 :(得分:3)
为什么要在keyup上进行autocomplete()调用?我认为这可能会导致你的问题。我会尝试直接从文档就绪事件调用autocomplete()。
$(document).ready(function(){
$("#tags1").autocomplete("/taglookup/", {
width: 320,
max: 4,
highlight: false,
multiple: true,
multipleSeparator:",",
scroll: true,
scrollHeight: 300,
delay: 10
});
});
答案 1 :(得分:0)
如果您使用的是我今天使用的相同自动填充程序(在另一台计算机上抱歉 - 无法确定具体版本是什么) - 那么您不需要在keyup上绑定 - 只需在启动时绑定一次 - < / p>
<script>
$('#tags1').autocomplete(....);
</script>
自动完成功能可处理所有按键/聚焦变化等。