Ajax的JQ实现方法
$(function(){
$("#pro").change(function(){
$("#city option:gt(0)").remove();
$.post("findCityByProvince",{provinceId:$("#pro").val()},function(data){
//alert(data);
var arr = eval("("+data+")");
//console.log(arr);
$.each(arr,function(i,n){
$("#city").append("<option value='"+n.cityId+"'>"+n.city+"</option>");
});
},"json");
});
});
用change事件,每当发生改变的时候重新提交一次,用.post(路径,参数,回调函数,类型)提交,用eval(string)方法解读数据,该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。$.each循环读取数,
$(selector).each(function(index(选择器的 index 位置),element(当前的元素)))
.append方法来插入数据
$(selector).append(content)
用.post提交,提交之后要被接受处理,例子里用struts.Xml处理。
<action name="findCityByProvince" class="com.kejiyun.Action.ProvinceAction" method="findCityByProvince">
<result name="success" type="json">
<param name="root">root</param>
</result>
Param参数标签里面放参数就行了。
这里的json用的是fastjson-1.1.33。