运行效果:
=================================================
部分代码:
=================================================
当然首先你数据库中要有这个table,不然你没有数据.....^_^
复制代码 代码如下:
所在地:
${xzqh.province}
js代码:
复制代码 代码如下:
/**
* 加载市
*
*/
function loadcity() {
var provinceid = $(#provinceselect option:selected).val();
if(provinceid == null || provinceid == ){
//alert(找不到省);
}else{
$.post(rootpath+/loadcity, {
q : provinceid
}, function(data, result) {
if(data == noid){
alert(请求错误);
}else if(data == null){
alert(系统找不到属于该省的市);
}else{
data = eval({ + data + });
var cityselect = $(#cityselect);
var mycity = $(#mycity).val();
cityselect.html();
for ( var i = 0; i if(mycity != null && mycity != && mycity > 0 && mycity == data[i].id){
cityselect.append(
+ data[i].name + );
}else{
cityselect.append(
+ data[i].name + );
}
}
loadregion();
}
});
}
};
/**
* 加载区
*
*/
function loadregion() {
var cityid = $(#cityselect option:selected).val();
if(cityid == null || cityid == || cityid alert(找不到市);
}else{
$.post(rootpath+/loadregion, {
q : cityid
}, function(data, result) {
if(data == noid){
alert(请求错误);
}else if(data == null){
alert(系统找不到属于该市的区);
}else{
data = eval({ + data + });
var regionselect = $(#regionselect);
var myregion = $(#myregion).val();
regionselect.html();
for ( var i = 0; i if(myregion != null && myregion != && myregion > 0 && myregion == data[i].id){
regionselect.append(
+ data[i].name + );
}else{
regionselect.append(
+ data[i].name + );
}
}
}
});
}
};
/**
* 省改变事件
*
*/
$(#provinceselect).change(loadcity);
/**
* 市改变事件
*
*/
$(#cityselect).change(loadregion);
$(function() {
loadcity();
});
后台方法:
复制代码 代码如下:
/**
* 加载城市数据
*
*/
public void loadcity() {
if (q == null || q.trim().equals()) {
write(noid);
} else {
list citys = xzqhservice.querycitys(q.trim());
if (citys == null || citys.size() write(null);
} else {
stringbuilder builder = new stringbuilder([);
for (xzqh city : citys) {
builder.append({'id':');
builder.append(city.getcityid());
builder.append(','name':');
builder.append(city.getcity());
builder.append('},);
}
if (builder.length() > 1)
builder.replace(builder.length() - 1, builder.length(), ]);
write(builder.tostring());
}
}
}
/**
* 加载区数据
*
*/
public void loadregion() {
if (q == null || q.trim().equals()) {
write(noid);
} else {
list citys = xzqhservice.querydistricts(q.trim());
if (citys == null || citys.size() write(null);
} else {
stringbuilder builder = new stringbuilder([);
for (xzqh district : citys) {
builder.append({'id':');
builder.append(district.getregionid());
builder.append(','name':');
builder.append(district.getregion());
builder.append('},);
}
if (builder.length() > 1)
builder.replace(builder.length() - 1, builder.length(), ]);
write(builder.tostring());
}
}
}