我已经创建了许多自动完成功能,从来没有出现过问题。这一次,我尝试在现有页面中插入一个自动完成功能(非常复杂并且有很多 javascript 调用)
我的代码很简单:
$('#named_invitees_0_user_id').autocomplete({
source: 'www.bidon.com'
});
我尝试过了 :
- 在 $(document).ready() 函数中为这个 javascript 充电
- 在页面加载时不收取此 javascript,然后在 Firebug 控制台中执行之前的代码
- 为自动完成添加一些参数(minLength、disabled、delay、beforeSend、...)
- 在源上设置数组
在这两种情况下,我的输入“理解”我的自动完成功能,因为它需要一些自动完成特定的属性
<input id="named_invitees_0_user_id" name="named_invitees[0][user_id]" type="text" value="aaaa" autocomplete="off" class="ac_input">
但是当我在我的输入上写一些东西(关于 Firebug 网络活动)时,永远不会发送任何请求。我认为页面上已经存在的一些 javascript 正在跟踪此查询的控制,但我不知道它可能是什么。
你呢 ?
编辑:
感谢您的回复。我听从你的建议:
- 尝试将数组设置为“源”:不会改变任何东西
- 删除此页面的所有 JS:仅加载了 jQuery-1.4.3 和 jQuery-ui-1.8.20:没有任何改变
- 将 minLength 的值更改为 1 :不会改变任何东西
- 检查源 url 是否返回 JSON:已确认
- 检查源网址是否在我的网站名称空间中:已确认
编辑2:
发现问题!
某处有一个隐藏的 JS 代码......一个旧的“自动完成”jquery 包含。结果:定义了 2 个自动完成。我删除了这个隐藏的代码,一切正常!
感谢您的回复。