我对jquery比较陌生,正在尝试弄清楚如何让这个自动建议的插件与geonames一起工作(返回位置信息)。这里有一个类似的使用jquery自动补全的例子,但是我不能让它使用http://jqueryui.com/demos/autocomplete/#remote-jsonp。下面是我正在尝试的,但我没有得到任何结果和浏览器控制台错误:未捕获TypeError:无法读取属性'geonames.adminName1‘的未定义。
$("#location2").autoSuggest("http://ws.geonames.org/searchJSON", {selectedItemProp: "geonames.adminName1", searchObjProps: "geonames.adminName1", selectedValuesProp : "geonames.name"});从geonames返回的json如下所示:
{"totalResultsCount":29,"geonames":[{"countryName":"United States","adminCode1":"UT","fclName":"city, village,...","countryCode":"US","lng":-111.6946475,"fcodeName":"populated place","toponymName":"Orem","fcl":"P","name":"Orem","fcode":"PPL","geonameId":5779334,"lat":40.2968979,"adminName1":"Utah","population":88328},{"countryName":"United States","adminCode1":"UT","fclName":"country, state, region,...","countryCode":"US","lng":-111.69912,"fcodeName":"administrative division","toponymName":"City of Orem","fcl":"A","name":"City of Orem","fcode":"ADMD","geonameId":7174024,"lat":40.2987069,"adminName1":"Utah","population":88328}]}如果我手动将JSON复制到一个名为data的变量中,然后将其用于源,如下所示:
$("#location2").autoSuggest("data.geonames", {selectedItemProp: "adminName1", searchObjProps: "adminName1", selectedValuesProp : "name"});我还想知道,当选择一个结果时,是否可以组合多个值,如adminName1 + name?
请和谢谢!
发布于 2012-07-05 22:25:15
autocomplete上的远程jsonp响应使用$.ajax()方法。查看有关$.ajax()的文档。
如果成功,ajax方法可以将数据传递给$.map(),然后您可以对数据执行任何操作(打印出来或放在DOM上)
https://stackoverflow.com/questions/9713023
复制相似问题