需要在组合框中填写国家/地区列表和相应的州列表

时间:2013-06-15 07:27:57

标签: javascript json jquery jsonp

我正在寻找能够以JSON / JSONP格式返回所有国家/地区详细信息和状态详细信息的Javascript API。

我搜索了很多,无法获得任何此类API服务。

你可以帮我解决这个问题吗?

我有一个填充国家/地区列表的网址。我希望获得精选国家的州名单

function getCountryList(){
           $.ajax({
               dataType : "jsonp",
               url : "http://doctor2book.com/service1.svc/getallcountries?callback=?",
               async : false,
               success : function(data) {
                   $("#countrySelectBox").html("");

                   $.each(data.getcountrybyidResult,function(index, value){                    
                       $("#countrySelectBox").append("<option value='"+value.country_code+"'>"+value.country_name+"</option>");
                   });

                   sortSelectBox($('#countrySelectBox option')) ;

                   $("#countrySelectBox").prepend("<option value='' selected>Select a Country</option>");


               },
               error : function(errorData) {
                   alert("Error while getting Country data :: "+errorData.status);
               }
           });
    }

2 个答案:

答案 0 :(得分:1)

我打赌你可以从互联网的某个地方获得(静态)列表。对于国家/地区,只需谷歌&#34; ISO国家/地区列表&#34;。国家更复杂(除非你只是指美国各州),但我敢打赌它们在某个地方。

由于它是一个非常静态的数据,将其编译到您自己的列表中并将其放在.js文件中,它将具有很多优点

  • 使用起来更快(无需额外连接)。一旦浏览器缓存.js文件

  • ,速度就会更快
  • 不依赖明天可能关闭的服务。

  • 用户无需访问互联网(如果我们正在讨论在公司内部网中部署您的应用)。

答案 1 :(得分:1)

这符合需要。

需要传递国家/地区代码和maxRows

http://ws.geonames.org/searchJSON?country=IN&maxRows=10