ajax/json

JSP页面:

<select id="province" name="user.province" onchange="duplicateAddress()">
<s:iterator value="provinceList" var="item">
<option value="<s:property value='key'/>">
<s:property value="value"/></option>
</s:iterator>
</select>
<select id="city" name="user.city">
<s:iterator value="cityList" id="citys">
<option value="<s:property value='key'/>">
<s:property value="value"/></option>
</s:iterator>
</select>



JS:

function duplicateAddress() {
var alterCity = $("#province").attr("value");
$.ajax({
async : false,
type: "POST",
url: "./alterAddress.action",
data: "alterCity=" + alterCity,
success: function(result){
if (result != null) {
var cityInfo = eval('('+result+')');
var citySelect = $("#city");
citySelect.children("option").remove();
$("<option value='0'>不限</option>").appendTo(citySelect);
for(var i=0;i<cityInfo.length;i++){
$("<option value='"+cityInfo[i].value+"'>"+cityInfo[i].text+"</option>").appendTo(citySelect);
}

}

}
});
}


JAVA代码:

public String alterAddress(){
StringBuffer result = new StringBuffer();
StringBuffer buffer = new StringBuffer();
result.append("[");
//从xml中取得省、市放入map中传到前台
List<Map<String, Object>> list = CityUtil.getCityList();
//根据省找到对应市集合
for (Map<String, Object> map : list) {
//如果取得的省与前台选择的省相同
if(((String) map.get("value")).equals(alterCity)){
List<Map<String, String>> childList = (List<Map<String, String>>) map.get("children");
for (Map<String, String> child : childList) {
buffer.append("{")
.append("value")
.append(":")
.append("'"+(String) child.get("value")+"'")
.append(",")
.append("text")
.append(":")
.append("'"+(String) child.get("name")+"'")
.append("}")
.append(",");
}

if (buffer.length() != 0) {
result.append(buffer.substring(0, buffer.length() - 1));
}
result.append("]");

try {
this.sendAjaxResponse(result.toString());
} catch (Exception e) {
e.printStackTrace();
log.debug(e.getMessage());
}
}
}
return null;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值