手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >js实现一个省市区三级联动选择框代码分享
js实现一个省市区三级联动选择框代码分享
摘要:运行效果:=================================================部分代码:===========...

运行效果:

js实现一个省市区三级联动选择框代码分享1

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

部分代码:

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

当然首先你数据库中要有这个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());

}

}

}

【js实现一个省市区三级联动选择框代码分享】相关文章:

jquery实现的判断倒计时是否结束代码

javascript实现炫酷的拖动分页

jQuery+ajax实现无刷新级联菜单示例

多种js图片预加载实现方式分享

javascript实现Table间隔色以及选择高亮的方法

鼠标图片振动代码

javascript实现简单的省市区三级联动

javascript基于DOM实现权限选择实例分析

javascript基于DOM实现省市级联下拉框的方法

精确到分钟的js日历控件,日期选择器代码

精品推荐
分类导航