jQuery自动完成不会发送任何请求

时间:2013-02-26 08:16:58

标签: javascript jquery autocomplete

我已经创建了许多自动完成功能,并且从未出现过任何问题。 这次,我尝试在现有页面中插入自动完成(非常复杂并且有许多javascript调用)

我的代码很简单:

$('#named_invitees_0_user_id').autocomplete({
  source: 'www.bidon.com'
});

我试图:

  • 在$(文档).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是跟踪对此查询的控制,但我不知道它是什么。

你呢?

编辑:

感谢您的回复。我按照你的建议:

  • 尝试将数组设置为“source”:不会更改任何内容
  • 删除此页面的所有JS:仅加载jQuery-1.4.3和jQuery-ui-1.8.20:不会更改任何内容
  • 将minLength的值更改为1:不会更改任何内容
  • 检查源网址是否返回JSON:已确认
  • 检查源网址是否在我的网站命名空间中:已确认

EDIT2:

发现问题!

某个地方有一个隐藏的JS代码......旧的“自动完成”jquery包括。结果:定义了2个自动完成。 我删除了这个隐藏的代码,一切正常!

感谢您的回复。

1 个答案:

答案 0 :(得分:1)

确保您的来源正在输出正确的json。

检查http://jqueryui.com/autocomplete/#remote以获取文档和示例代码

这是一个例子:

 $( "#named_invitees_0_user_id" ).autocomplete({
      source: "search.php",
      minLength: 2
    });

在源之后使用“:”!