我是JQuery的自动完成功能的新手。我试图让这个代码正常工作。下面的代码在每次有人输入到输入字段时都会正确执行ajax poll。但是,它不会下拉自动完成。如何获取JQuery自动完成以使用Ajax和JSON?
$(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”}, :“Pittsburg”},{“label”:“道奇城”}]
JSON不是一个数组,但总是用'{...}'包装。您需要获取数据,将数组解析出来并将该数组传递给'.autocomplete'。 – pimvdb
试试这个:[{'label':'Overland ..'},{'label':'Anonymus'}],旁边是1,2,3使用标签 –