js实现一个省市区三级联动选择框代码分享_Javascript教程-查字典教程网
js实现一个省市区三级联动选择框代码分享
js实现一个省市区三级联动选择框代码分享
发布时间:2017-01-14 来源:查字典编辑
摘要:运行效果:=================================================部分代码:===========...

运行效果:

=================================================

部分代码:

=================================================

当然首先你数据库中要有这个table,不然你没有数据.....^_^

复制代码 代码如下:

<tr>

<td>

所在地:

</td>

<td>

<input type="hidden" id="myProvince" value="${user.provinceId}"/>

<input type="hidden" id="myCity" value="${user.cityId}"/>

<input type="hidden" id="myRegion" value="${user.regionId}"/>

<select id="provinceSelect" name="user.provinceId">

<c:forEach items="${xzqhs}" var="xzqh">

<option value="${xzqh.provinceId}" ${user.regionId eq xzqh.provinceId?"selected='selected'":""}>${xzqh.province}</option>

</c:forEach>

</select>

<select id="citySelect" name="user.cityId">

</select>

<select id="regionSelect" name="user.regionId">

</select>

</td>

<td></td>

</tr>

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 < data.length; i++) {

if(myCity != null && myCity != "" && myCity > 0 && myCity == data[i].id){

citySelect.append("<option selected='selected' value='" + data[i].id + "'>"

+ data[i].name + "</option>");

}else{

citySelect.append("<option value='" + data[i].id + "'>"

+ data[i].name + "</option>");

}

}

loadRegion();

}

});

}

};

/**

* 加载区

*

*/

function loadRegion() {

var cityId = $("#citySelect option:selected").val();

if(cityId == null || cityId == "" || cityId < 1){

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 < data.length; i++) {

if(myRegion != null && myRegion != "" && myRegion > 0 && myRegion == data[i].id){

regionSelect.append("<option selected='selected' value='" + data[i].id + "'>"

+ data[i].name + "</option>");

}else{

regionSelect.append("<option value='" + data[i].id + "'>"

+ data[i].name + "</option>");

}

}

}

});

}

};

/**

* 省改变事件

*

*/

$("#provinceSelect").change(loadCity);

/**

* 市改变事件

*

*/

$("#citySelect").change(loadRegion);

$(function() {

loadCity();

});

后台方法:

复制代码 代码如下:

/**

* 加载城市数据

*

*/

public void loadCity() {

if (q == null || q.trim().equals("")) {

write("noId");

} else {

List<Xzqh> citys = xzqhService.queryCitys(q.trim());

if (citys == null || citys.size() < 1) {

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<Xzqh> citys = xzqhService.queryDistricts(q.trim());

if (citys == null || citys.size() < 1) {

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());

}

}

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类