【问题标题】:Using jQuery autosuggest plugin with Geonames使用带有 Geonames 的 jQuery autosuggest 插件
【发布时间】:2012-03-15 02:03:49
【问题描述】:

我对 jquery 比较陌生,正在尝试弄清楚如何让这个自动建议插件与地理名称一起使用(返回位置信息)。在http://jqueryui.com/demos/autocomplete/#remote-jsonp 有一个类似的使用 jquery 自动完成功能的示例,但我无法让它与 autosuggest 一起使用。以下是我正在尝试的,但我没有得到任何结果和此浏览器控制台错误:Uncaught TypeError: Cannot read property 'geonames.adminName1' of undefined。

$("#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 的 var 中,然后将其用于源代码,它可以工作:

$("#location2").autoSuggest("data.geonames", {selectedItemProp: "adminName1", searchObjProps: "adminName1", selectedValuesProp : "name"});

我也想知道在选择结果时是否可以组合多个值,例如 adminName1 + name?

请,谢谢!

【问题讨论】:

    标签: jquery autocomplete autosuggest geonames


    【解决方案1】:

    自动完成的远程 jsonp 响应与 $.ajax() 方法一起使用。 查看有关 $.ajax() 的文档。

    成功后,ajax 方法可以将数据传递给 $.map(),然后你可以对数据做任何你想做的事情(打印出来或放在 DOM 上)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      • 2011-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多