/**
* 全国省市区三级联动数据库版
*/
/**
* 三级联动主函数(只调用主函数即可实现三级联动,无需调用其他函数)
* 页面只写<select>标签即可,不用添加<option>,省市区的 id 分别是 province,city,district
* @param {Object} provinceId 修改时传入省 id 或省份名,如不需要请传入 0
* @param {Object} cityId 修改时传入市 id 或城市名(必须是默认省的市 id,否则无法默认
选中该城市和下属区县),如不需要请传入 0
* @param {Object} districtId 修改时传入区 id 或区县名(必须是默认市的区 id,否则无法默
认选中该区县),如不需要请传入 0
*/
function cascade(provinceId,cityId,districtId){
$(document).ready(function(){
//页面加载后显示所有省份
getProvince(provinceId,cityId,districtId);
//改变省份获取本省的所有城市
$("#province").change(function(){
getCity($("#province").val(),cityId,districtId);
});
//改变城市获取本市的所有区县
$("#city").change(function(){
getDistrict($("#city").val(),districtId);
});
})
}
/**
* 获取所有省份
* @param {Object} provinceId 默认选中的省份
* @param {Object} cityId 传递参数给 getCity 函数
* @param {Object} districtId 传递参数给 getCity 函数
*/
function getProvince(provinceId,cityId,districtId){
$.getJSON("area!findProvince.action",function(data){
$.each(data,function(i,rs){
var data = "<option value="+i+">"+rs+"</option>";
if(i==provinceId || rs==provinceId){
data = "<option selected='selected' value="+i+">"+rs+"</option>";
}
$("#province").append(data);
});
getCity($("#province").val(),cityId,districtId);
})
评论6