2011-10-18 6 views
1

私は現在、Geonamesからデータを取得するjQuery UIオートコンプリートを起動するために、単一のINPUTフィールドを使用しています。オートコンプリートとジオナム:都市、州、国を別々の入力フィールドで取得できますか?

$("#city_state_country").autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
      url: "http://ws.geonames.org/searchJSON", 
      dataType: "jsonp", 
      data: { 
       featureClass: "P", 
       style: "full", 
       maxRows: 6, 
       name_startsWith: request.term 
      }, 
      success: function(data) { 
       response($.map(data.geonames, function(item) { 
        return { 
         label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName, 
         value: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName, 
        } 
       })); 
      } 
     }); 
    }, 
    minLength: 3, 
    select: function(event, ui) { 
     log(ui.item ? 
      "Selected: " + ui.item.label : 
      "Nothing selected, input was " + this.value); 
    }, 
    open: function() { 
     $(this).removeClass("ui-corner-all").addClass("ui-corner-top"); 
    }, 
    close: function() { 
     $(this).removeClass("ui-corner-top").addClass("ui-corner-all"); 
    } 
}); 

私は

を「Bosto」と入力し始めるのであれば、それは

Boston, Massachusetts, United States 

で私を提供しかし、私は都市、州、国の独立した入力フィールドを持ちたい - と、各Geonamesにオートコンプリートで接続して、それぞれ都市、州、国の提案のみを返します。

ので、入力:

"Bost" in the city INPUT would provide "Boston". 
"Massa" in the state INPUT would provide "Massachusetts". 
"United St" in the state INPUT would provide "United States". 

これは可能ですか?

name_startsWithを他のoptionsに変更してみましたが、期待したものが得られませんでした。

+0

州/国を制限しますか?たとえば、「Boston」、「South Carolina」、「United Kingdom」と入力することはできませんか? –

+0

@andrew私は拘束したくない、私はちょうど都市、州、国を別々の分野に提供したいと思っていた。オートコンプリートで誰かがあなたの提案したことを入力すれば – pepe

+0

これは非常に古く、私はこれが可能でなければならないと思う。 jQueryの例では、フィーチャクラスを「P」という値に制限しています。これはapiを[cities and villages](http://www.geonames.org/export/codes.html)に限定しています。だからあなたはあなたの都市入力のためにそれを残して、あなたの他の入力のために国/州を得るためにそれを "A"または類似のものに変えることができます。 – getup8

答えて

1

ドキュメント、http://www.geonames.org/export/web-services.htmlによると、あなたはない

+0

thx - あなたはそれが不可能であると正確に言われているところを見ていますか(そのページのどの部分)? – pepe

+0

申し訳ありませんが、それはあいまいな回答でした。しかし、それは単にCONTAINSオプションを持っていません。フルテキスト検索であっても、あなたのニーズに合ったものではありません。 – Joe

+0

ok thx情報 – pepe

0

あなたはこのURLを使用することによってこれを行うことができますすることができます - 例:api.geonames.org/postalCodeSearchJSON?placename_startsWith=dehi&country=LK&username=demo

それはあなたが与えた入力に対する結果を生成します。

関連する問題