ajax实现地址三级联

1 篇文章 0 订阅

Address.java

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

 

publicclass Address{

       DbUtil8 d=new DbUtil8();

      

       public List<Province> getProvince(){

             

                String sql = "select province_id,province from tm_province ";

                     Connectionconn=null;

                     PreparedStatementpstm=null;

                     ResultSetrs=null;

              List<Province> addList =newArrayList<Province>();

                     conn=d.getConnection();

                    

             try {

                   pstm=conn.prepareStatement(sql);

                    

                            rs=pstm.executeQuery();

                           

                            while (rs!=null&&rs.next()){

                            Provincepro=newProvince();

                            pro.setProvince_id(rs.getString("province_id"));

                            pro.setProvince(rs.getString("province"));

                           

                              addList.add(pro);

                              System.out.println("调用findByName方法");

                             

                     }

             }catch(SQLException e) {

                            //TODOAuto-generated catch block

                            e.printStackTrace();

                     }finally{

                            d.close(null, pstm,conn);

                     }

              returnaddList;

             

       }

      

       public List<HashMap<String, Object>>  getCity(String province_id){

             

                String sql = "select city_id, cityfrom tm_city where province_id=? ";

                     Connectionconn=null;

                     PreparedStatementpstm=null;

                     ResultSetrs=null;

          //   List<City> addList = new ArrayList<City>();

                     List<HashMap<String,Object>> maps =null;

                     conn=d.getConnection();

                     Citycity=new City();

             try {

                   maps = newArrayList<HashMap<String,Object>>();

                   pstm=conn.prepareStatement(sql);

                        pstm.setString(1,province_id);   //!!!!!!!!!!!!!!!!!!!!!!!!!!

                            rs=pstm.executeQuery();

                            HashMap<String,Object> map =null;

                            while (rs!=null&&rs.next()){

                                   map= newHashMap<String, Object>();

                                   map.put("id",rs.getString("city_id"));

                                   map.put("name",rs.getString("city"));

                                   maps.add(map);

                     }

             }catch(SQLException e) {

                            //TODOAuto-generated catch block

                            e.printStackTrace();

                     }finally{

                            d.close(null, pstm,conn);

                     }

            return maps;

             

       }

      

}

 

 

 

Address.jsp

<%@ page language="java"contentType="text/html;charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@  page import="com.test.bean.*,java.util.*"%>

<%@ taglib prefix="c"uri="http://java.sun.com/jsp/jstl/core"%>

<c:setvar="ctx"value="${pageContext.request.contextPath}"/>

<!DOCTYPEhtml PUBLIC "-//W3C//DTDHTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<scripttype="text/javascript"src="js/jquery-1.11.1.min.js"></script>

</head>

<body>

<%   Address address=new Address();

List<Province> list=address.getProvince();

request.setAttribute("province", list);

 

%>

              <select  id="province"onchange=" selectPro(this)">

                  <option value="">-请选择-</option>

                        <c:forEach var="pv"items="${province}">

                                       <optionvalue="${pv.province_id}">${pv.province}</option>

                            </c:forEach>

              </select>

             

              <select  id="city"onchange=" selectCity(this)">

                  <option value="">-请选择-</option>

              </select>

             

              <select  id="area">

                  <option value="">-请选择-</option>

              </select>

 

<scripttype="text/javascript">

   function selectPro(obj){

          var provinceId=$(obj).val();

          alert(provinceId);

          if(!provinceId)return;// 声明变量就要判断是否为null

          $.ajax({

                 type:"post",

                 url:"${ctx}/CityServlet",

                 data:{"provinceId":provinceId},

                 success:function(data){

                        var data1=data.trim();

                        if(data1=="fail"){

                               alert("查询失败");

                        }else{

                               alert(data1);

                               var jsonData=eval(data1);

      

                               append_template(jsonData,"city");

                              

                    

  

       functionappend_template(jsonData,target){

              var length= jsonData.length;

              var html ="<option>-请选择-</option>";

              for(vari=0;i<length;i++){

                     html+="<optionvalue='"+jsonData[i].id+"'>"+jsonData[i].name+"</option>";

              }

              $("#"+target).html(html);

       };

</script>

</body>

</html>

 

 

 

Servlet

String provinceId =request.getParameter("provinceId");

               

               System.out.println(provinceId);

               if(provinceId!=null&&!provinceId.equals("")){

              //   List<City> list=newAddress().getCity(provinceId);

                            List<HashMap<String,Object>> citys=newAddress().getCity(provinceId);

                    

                            try {

                                   response.setContentType("text/html;charset=UTF-8");

                                response.setCharacterEncoding("utf-8");

                                   response.getWriter().print(JSONUtil.serialize(citys));

                                    

                            }catch(JSONException e) {

                           

                                   e.printStackTrace();

                            }

              //   response.getWriter().print(JSONArray.fromObject(list));

               }else{

                      response.getWriter().print("fail");

               }


源码地址:http://download.csdn.net/detail/lixiyuyu/9610732

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值