jquery自动完成的问题

时间:2010-07-12 19:00:57

标签: jquery autocomplete

尝试根据this

实施自动填充功能

看起来它很直接,但是我不能让这个用ajax调用。不工作,我的意思是我没有看到下降。 Firebug没有显示错误。

 <script type="text/javascript">
  var options, a;

  jQuery(function(){
  options = { serviceUrl:'vendors1.cfm', 
              delimiter: /(,|;)\s*/,
              deferRequestBy: 0,
              minChars:2};
 a = $('#query').autocomplete(options); 
  });
 </script>
现在vendor1.cfm,返回一个';'分类清单:ABC建筑; ABC建筑; ABC建筑; ABC PLUMBING&amp;电气供应公司等

如何正确使用serviceURL。我有什么格式输出数据?

2 个答案:

答案 0 :(得分:5)

来自开发网页:

为Ajax自动填充提供数据的网页,vendors1.cfm将收到查询字符串为?query="query string"的GET请求,并且必须按以下格式返回JSON数据:

{
 query:'Li',
 suggestions:['Liberia','Libyan Arab Jamahiriya','Liechtenstein','Lithuania'],
 data:['LR','LY','LI','LT']
}
  • query - 原始查询值
  • suggestions - 以逗号分隔的建议值数组
  • data (optional) - 数据数组,包含选择数据时回调函数的值。

答案 1 :(得分:0)

您应该返回有效的JSON。 例如如果您在文本字段中键入“Li”,则可以返回:

{
 query:'Li',
 suggestions:['Liberia','Libyan Arab Jamahiriya','Liechtenstein','Lithuania'] 
}

分隔符不用于返回的值,但可以使用自动完成功能输入多个值。

如果你接受“,”作为分隔符,它将允许你输入:“荷兰,李”,自动完成将像你输入“李”一样工作