有一个地区的联动获取功能,通过传递父id,显示子地区
后台代码 :get_ares.jsp
<%
int pid=RequestUtil.getInt(request,"pid");
ArrayList list=(ArrayList)DaoFactory.getLpAreaDao().getList(tot_wxid, pid);
StringBuffer sb=new StringBuffer();
sb.append("[");
int n=list.size();
for (int i=0;i<n;i++) {
DataField df=(DataField)list.get(i);
String id=df.getFieldValue("id");
sb.append("{");
sb.append("\"id\":"+id+",");
sb.append("\"title\":\""+df.getFieldValue("Title")+"\"");
sb.append("}");
if(i<n-1){
sb.append(",");
}
}
sb.append("]");
out.clear();
out.print(sb.toString());
%>
前台js:
function GetAreas(pid,cid,obj){
var childs=document.getElementById(obj);
childs.length=0;
childs.options[0]=new Option('---','0');
if(parseInt(pid)==0){
return;
}
$.ajax({
type: "get",
url: "area_get.jsp?pid="+pid,
dataType:"json"
})
.done(function( data ) {
for(var i=0;i<data.length;i++){
var ofs=childs.length;
childs.options[ofs]=new Option(data[i].title,data[i].id);
if(cid==data[i].id){
childs.options[ofs].selected=true;
}
}
}).fail(function() {
});
}