0

私はjqueryに比較的慣れていないため、このautosuggestプラグインをジオネームで動作させる方法を見つけようとしています(位置情報を返します)。ここでjqueryオートコンプリートで動作する同様の例がありますhttp://jqueryui.com/demos/autocomplete/#remote-jsonpしかし、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 のように、結果が選択されたときに複数の値を組み合わせることができるかどうかも知りたいです。

よろしくお願いします!

4

1 に答える 1

0

オートコンプリートのリモート jsonp 応答は $.ajax() メソッドで動作します。$.ajax() のドキュメントを確認してください。

成功すると、ajax メソッドはデータを $.map() に渡すことができ、データを使って好きなことを行うことができます (印刷するか、DOM に配置します)。

于 2012-07-05T14:25:15.300 に答える