我们先来看看三级省市函数
/**
* 根据编号获取城市名(数组形式)
* @param id 编号
* @returns [String] 城市名(省/市/区县)
*/
function getCityText1(id) {
if(!id){
return "";
}
for(var i in provinces){
if(provinces[i].id == id){
return provinces[i].text;
}
if(provinces[i].id.substr(0,2) != id.substr(0,2)){
continue;
}
var citys = provinces[i].children;
for(var j in citys){
if(citys[j].id == id){
return provinces[i].text + citys[j].text;
}
if(citys[j].id.substr(0,4) != id.substr(0,4)){
continue;
}
var countrys = citys[j].children;
for(var k in countrys){
if(countrys[k].id == id){
return [provinces[i].text, citys[j].text, countrys[k].text];
}
}
}
}
}
然后再将其转换为(省/市/区县)这样的格式,后面需要将城市编号转换时可以直接调用这个函数来进行转换
/**
* 根据编号获取城市名
* @param id 编号
* @returns String 城市名
*/
function getCityText2(id) {
var arr = getCityText1(id);
return arr[0]+"/"+arr[1]+"/"+arr[2];
}
现在我们来看看省市二级函数
/**
* 根据编号获取城市名(数组形式)
* @param id 编号
* @returns [String] 城市名(省/市)
*/
function getCityText3(id) {
if(!id){
return [];
}
for(var i in provinces){
if(provinces[i].id == id){
return [provinces[i].text];
}
if(provinces[i].id.substr(0,2) != id.substr(0,2)){
continue;
}
var citys = provinces[i].children;
for(var j in citys){
if(citys[j].id == id){
return [provinces[i].text,citys[j].text];
}
}
}
}
然后对应的转换函数如下:
/**
* 根据编号获取城市名
* @param id 编号
* @returns String 城市名
*/
function getCityText4(id) {
var arr = getCityText3(id);
return arr[0]+"/"+arr[1];
}
注意:这两个是要一起使用的
当我们前台需要将城市编码进行转换时就可以直接调用 getCityText2 或 getCityText4,这两个函数