注意:因为getJson()方法是不能获取本地文件的,所以页面必须要在本地服务器打开,否则会产生跨域问题。
服务器打开页面
本地file模式打开页面
代码应用部分
_loadRegion(localStorage.language,function(){
publicRegionObj = opreateRegion($('#province'),$('#city'),$('#county'));
});
方法编写部分
var publicCityObj = null;
// 加载城市
//新的省市区
var _loadRegion = function(_language, callback) {
if (publicCityObj) { //如果这个对象存在,说明已经执行过该函数,可以直接退出
return;
}
var provinces = [];
var city = [];
var area = [];
var cityCache = {};
var areaCache = {};
var getcityNameCache = {};
var getProvinceNameCache = {};
var getAreaNameCache = {};
var allRegionCache = {};
var i = 0;
var allRegion = null;
var loadRegionSuccess = function() {
i++;
if (i == 3) {
publicCityObj = obj;
allRegion = [].concat(provinces, city, area);
if (callback) { callback() }
}
}
$.getJSON('../js/city/provinces_' + _language + '.json', function(resdata) {
provinces = resdata;
loadRegionSuccess()
})
var isLoadCityBack = $.getJSON('../js/city/cities_' + _language + '.json', function(resdata) {
city = resdata;
$.each(resdata, function(index, item) {
if (!cityCache[item.parent_code]) {
cityCache[item.parent_code] = [];