我在这里处理jqueryui自动完成JSONP示例:http://jqueryui.com/demos/autocomplete/#remote-jsonp
即使在他们自己的演示中,我也设法让这个错误发生;不幸的是,我不能始终重现它。
如果我开始在文本框中输入,它将自动完成。
如果我没有选择结果,然后“模糊”控件(专注于其他内容),然后返回控件并再次开始输入,则自动完成“源”功能(有时)根本不会触发再也不用了,直到我刷新页面。
我已经通过将一些日志代码放入源函数来验证这一点;该函数停止被调用。
我无法确定它发生的具体情况。
这是一个已知的错误吗?在下一个版本中可能会修复一些东西吗?
编辑:加粗以下陈述,因为它是问题中最可怕的部分,是为了回应有人贬低原文:
有没有办法“重置”自动完成对象,以便它在这种情况下再次开始工作?当对象失去焦点时,我已经尝试再次运行$(“#foo”)。autocomplete(...),但这没有帮助。
谢谢!
答案 0 :(得分:1)
你可以这样做:
$('input.autocomplete').live('focus',function(){
$(this).autocomplete({
...your autocomplete options
});
});
如果您的来源是ajax调用或方法,我建议您将源值保存在变量
中