$(function() {
// 初始化省市区
initAddress();
// 更改省份后的操作
$("select[name='province']").change(function() {
var provCode = $("select[name='province']").val();
getCity(provCode);
});
// 更改城市后的操作
$("select[name='city']").change(function() {
var cityCode = $("select[name='city']").val();
getArea(cityCode);
});
});
function initAddress() {
var firstProvCode;
// ajax请求所有省份
$.get("/site/get_Province", {
method : "initProvince"
}, function(data) {
var province = $("#province").val();
$.each(data, function(i, d) {
if(province==d.codeP){
$("select[name='province']").append(
"<option value='"+d.codeP+"'selected>" + d.name
+ "</option>");
}else{
$("select[name='province']").append(
"<option value='"+d.codeP+"'>" + d.name
+ "</option>");
}
});
// 获取第一个省份的code
firstProvCode = data[0].codeP;
// 根据第一个省份code获取对应城市列表
getCity(firstProvCode);
}, 'json');
}
//获取对应城市列表(里面包括获取第一个城市的区县列表)
function getCity(codeP) {
var firstCityCode;
var city = $("#city").val();
// ajax请求所有市级单位
$.get("/site/get_city", {
method : "getCity",
codeP : codeP
}, function(data) {
// 先清空城市下拉框
$("select[name='city']").empty();
$.each(data, function(i, d) {
if(city==d.codeC){
$("select[name='city']").append(
"<option value='"+d.codeC+"'selected>" + d.name
+ "</option>");
}else{
$("select[name='city']").append(
"<option value='"+d.codeC+"'>" + d.name
+ "</option>");
}
});
// 获取第一个城市的code
firstCityCode = data[0].codeC;
// 根据第一个城市code获取对应区县列表
getArea(firstCityCode);
}, 'json');
}
function getArea(codeC) {
var area = $("#area").val();
// ajax请求所有区县单位
$.get("/site/get_area", {
method : "getArea",
codeC : codeC
}, function(data) {
// 先清空区县下拉框
$("select[name='area']").empty();
$.each(data, function(i, d) {
if(area==d.codeA){
$("select[name='area']").append(
"<option value='"+d.codeA+"'selected>" + d.name
+ "</option>");
}else{
$("select[name='area']").append(
"<option value='"+d.codeA+"'>" + d.name
+ "</option>");
}
});
}, 'json');
}
在没有选择省的时候,不能选择市,在选择了相应地省之后,更换到相应地市的下边,在更换了相应地市之后,更换到相应地县区的下边。
首先市初始化省份,可以选择省份,在初始化了省份之后,可以根据省份选择市区,再根据市区选择相应地县区。就是这样地控制的。