//前台 代码
$.ajax(
{
type:"POST",
url:"${pageContext.request.contextPath}/findCityByProvinceRequest?id="+new Date().getTime(),
data:{"province":province},
success:function(backData,textStatus,ajax){}
}
);
<select id="province">
<option>选择省份</option>
<option>广东</option>
<option>湖南</option>
</select>
<select id="city">
<option>选择城市</option>
</select>
<script type="text/javascript">
$("#province").change(function(){
//删除原城市下拉框中的内容,除第一项外
$("#city option:gt(0)").remove();
var province = $("#province option:selected").text();
if("选择省份" != province){
$.ajax({
"type":"POST",
"url":"${pageContext.request.contextPath}/findCityByProvince?time="+new Date().getTime(),
"sendData":{"province":province},
"success":function(backData,textStatus,ajax){
//js对象
var city = backData.cityList;
//jquery对象
var $city = $(city);
//each()
$city.each(function(){
//this表示每个城市
var $option = $("<option>" + this + "</option>");
$("#city").append( $option );
});
}
});
}
});
</script>
//后台struts代码
public class ProvinceCityAction extends ActionSupport{
private String province;//广东
public void setProvince(String province) {
this.province = province;
}
public String findCityByProvince() throws Exception {
cityList = new ArrayList<String>();
if("广东".equals(province)){
cityList.add("湛江");
cityList.add("汕头");
}else if("湖南".equals(province)){
cityList.add("邵阳");
cityList.add("浏阳");
}
return "ok";
}
private List<String> cityList;
public List<String> getCityList() {
return cityList;
}
/**
* var backData = {
* "cityList":["邵阳","浏阳"]
* }
*/
}
<struts>
<package name="timePackage" extends="json-default" namespace="/">
<global-results>
<result name="ok" type="json"/>
</global-results>
<!-- 获取服务端时间 -->
<action
name="loadTimeRequest"
class="cn.itcast.javaee.js.time.TimeAction"
method="loadTimeMethod"/>
<!-- 检查用户名和密码是否存在 -->
<action
name="checkRequest"
class="cn.itcast.javaee.js.register.RegisterAction"
method="checkMethod"/>
<!-- 根据省份查询城市 -->
<action
name="findCityByProvince"
class="cn.itcast.javaee.js.provincecity.ProvinceCityAction"
method="findCityByProvince"/>
</package>
</struts>