Jquery Ajax 提交 级联实现

来源:互联网 发布:什么值得买 知乎 编辑:程序博客网 时间:2024/05/06 04:21

页面代码:

显示代码打印
1 <div> 

2     

3       省份:<select id="province"> 

4            <option value="">请选择省份</option> 

5         </select> 

6       城市:<select id="city"> 

7         <option value="">请选择城市</option> 

8         </select> 

9 </div>
级联菜单js代码


显示代码打印
01 $(document).ready(function(){  

02 var province=$("#province");  

03 var city=$("#city");  

04 var provinceurl="/Struts2/base/selectProvince.action";  

05 $.post(provinceurl,{code:"province"},function(data){  

06     var dataObj=eval("("+data+")");  

07     $.each(dataObj,function(index,item){  

08     var tempOption = document.createElement("option");  

09     tempOption.value = item.provinceId;  

10     tempOption.innerHTML  = item.provinceName;  

11     province.append(tempOption);  

12     });  

13 },"json");  

14   

15 province.change(function(){  

16   city.empty();  

17   var params={provinceCode:$('#province option:selected').val()};  

18   $.post("/Struts2/base/selectCity.action",params,function(data){  

19   alert(data);  

20   var dataObj=eval("("+data+")"); //转换为json对象 

21     $.each(dataObj,function(index,item){  

22     var tempOption = document.createElement("option");  

23     tempOption.value = item.cityId;  

24     tempOption.innerHTML  = item.cityName;  

25     city.append(tempOption);  

26     });  

27   },"json");  

28 });  

29 });
 

 

对应的Action代码:

显示代码打印
01 package com.hyts.business.action; 

02   

03 import java.util.List; 

04   

05 import javax.servlet.http.HttpServletRequest; 

06   

07 import net.sf.json.JSONArray; 

08   

09 import com.hyts.dao.ProvinceDAO; 

10 import com.hyts.model.City; 

11 import com.hyts.model.Province; 

12 import com.opensymphony.xwork2.ActionSupport; 

13   

14 public class ChainSelectAction extends ActionSupport { 

15   

16  private static final long serialVersionUID = 1383189653446960523L; 

17  private HttpServletRequest request; 

18  private String result;//前台接收数据 

19  private String provinceCode; 

20  public String selectProvince()  { 

21   ProvinceDAO provinceDAO=new ProvinceDAO(); 

22   List<Province> list=provinceDAO.getAllProvince(); 

23   JSONArray jsonArray2 = JSONArray.fromObject( list );               

24   this.result=jsonArray2.toString(); 

25   return SUCCESS; 

26  } 

27   

28  public String selectCity() throws Exception{ 

29   ProvinceDAO provinceDAO=new ProvinceDAO(); 

30   System.out.println(this.provinceCode); 

31   int provinceId=Integer.parseInt(this.provinceCode); 

32   List<City> list=provinceDAO.getCityByProvince(provinceId); 

33   for(int i=0;i<list.size();i++) 

34   { 

35    City city=list.get(i); 

36    System.out.println(city.getCityName()); 

37   } 

38   JSONArray jsonArray = JSONArray.fromObject( list ); 

39   this.result=jsonArray.toString(); 

40   return SUCCESS; 

41  } 

42  public String getResult() { 

43   return result; 

44  } 

45   

46  public void setResult(String result) { 

47   this.result = result; 

48  } 

49    

50  public String getProvinceCode() { 

51   return provinceCode; 

52  } 

53   

54  public void setProvinceCode(String provinceCode) { 

55   this.provinceCode = provinceCode; 

56  } 

57   

58  public void setServletRequest(HttpServletRequest request) { 

59   this.request=request; 

60  } 

61 }
 

 

对应的配置文件

显示代码打印01 <?xml version="1.0" encoding="UTF-8" ?> 

02 <!DOCTYPE struts PUBLIC 

03     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 

04     "http://struts.apache.org/dtds/struts-2.0.dtd"> 

05   

06 <struts> 

07   <include file="struts-default.xml"/> 

08   <package name="/base" extends="json-default" namespace="/base"> 

09   <action name="selectProvince" class="com.hyts.business.action.ChainSelectAction" method="selectProvince"> 

10            <result type="json"> 

11               <param name="root">result</param> 

12            </result> 

13   </action> 

14     

15   <action name="selectCity" class="com.hyts.business.action.ChainSelectAction" method="selectCity"> 

16            <result type="json"> 

17               <param name="root">result</param> 

18            </result> 

19   </action> 

20  </package> 

21 </struts>