我是JQuery的自动完成功能的新手。我正在尝试使此代码正常工作。每当有人在输入字段中键入内容时,下面的代码都会正确执行ajax轮询。但是,它不会降低自动完成功能。
$(document).ready(function() {
$("#search").autocomplete({
source: 'cityajax'
});
});
这是它已成功从服务器提取的文件。 MIME /内容类型设置为text / json。
['Overland Park','Hiawatha','Columbus','Lenexa','Pittsburg','Dodge City','Mission']
当实际源在javascript本身中设置为内联JSON var时,同样的方法也可以正常工作。这个问题一定很简单,但是我花了一个半小时试图找出问题所在,并且遇到了障碍。我是否缺少某种必需的参数?
编辑:更改了我的“ json”到此有效的JSON,仍然是同样的问题。
{"1": "Overland Park","1": "Hiawatha","1": "Columbus","1": "Lenexa","1": "Pittsburg","1": "Dodge City"}
编辑:再次更改了我的“ json”。
[{"1": "Overland Park"},{"2": "Hiawatha"},{"3": "Columbus"},{"4": "Lenexa"},{"5": "Pittsburg"},{"6": "Dodge City"}]
编辑:更改了我的“ json”,一切都很好。
[{“ label”:“ Overland Park”},{“ label”:“ Hiawatha”},{“ label”:“ Columbus”},{“ label”:“ Lenexa”},{“ 5”:“匹兹堡” },{“ label”:“道奇城”}]
最佳答案
您使用的方法肯定无法正常工作。我想问您如何知道数据肯定会到达那里。您是否通过Firebug在XHR中看到它?如果不使用插件的远程源功能,该怎么称呼?
您定义它的方式没有文件扩展名。因此,它将源设置为名为cityajax的字符串,这是无效的。如果您的数据源是一个名为cityajax的变量,则可以将该变量放在不带引号的位置。
Jsonlint将允许您测试数据的有效性。
关于jquery - 如何获得可与Ajax和JSON配合使用的JQuery自动完成功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6389428/