使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例

  

首先我们需要先建立好数据库,将一些数据插入进去

  

  

省:省份表

  

城市:城市表

  

<>强如图:

  

使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例

  

然后再在java中建立相关的实体类与之对应

  

使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例

  

再然后,我们就能开始做jdbc的操作了

        公开课ConnectionFactory {   私有静态字符串司机;   私有静态url字符串;   私有静态字符串的用户;   私有静态字符串密码;   静态{   属性道具=new属性();//读取文件      尝试{   InputStream的=ConnectionFactory.class.getResourceAsStream (“。/jdbc.properties”);      prop.load(的);   司机=prop.getProperty (“jdbc.driver”);   url=prop.getProperty (“jdbc.url”);   用户=prop.getProperty (“jdbc.user”);   密码=prop.getProperty (“jdbc.password”);   }捕捉(IOException e) {   e.printStackTrace ();   }      }/* *   *获取连接对象   * @return   */公共静态连接getConnection () {   连接康涅狄格州=零;      尝试{   forname(司机);   康涅狄格州=DriverManager。getConnection (url、用户密码);      }捕捉(异常e) {   把新的RuntimeException (e);   }      返回康涅狄格州;   }/* *   *关闭资源   * @param康涅狄格州   * @param pstmt   * @param支撑   * @param rs   */公共静态空间关闭(连接康涅狄格州、PreparedStatement pstmt声明支撑,ResultSet rs) {      尝试{   如果(康涅狄格州!=null) {   conn.close ();   }      如果(pstmt !=null) {   pstmt.close ();   }      如果(支撑!=null) {   stmt.close ();   }      如果(rs !=null) {   rs.close ();   }   }捕捉(SQLException e) {   把新的RuntimeException (e);   }      }   之前      

首先我们可以在页面加载的时候获取所有省份的信息,SQL语句如下

        连接康涅狄格州=零;   PreparedStatement pstmt=零;   省province2=零;      @Override   公共ArrayListfindAllPro () {   ResultSet rs=零;   ArrayList利=零;   尝试{   字符串sql=把≡駃d,从省”;   康涅狄格州=ConnectionFactory.getConnection ();   pstmt=conn.prepareStatement (sql);   利=new ArrayList ();      rs=pstmt.executeQuery ();      而(rs.next ()) {   省?new省();   province.setId (rs.getInt (1));   province.setPlace (rs.getString (2));   pros.add(省);   }      }捕捉(SQLException e) {   把新的RuntimeException (e);   }      返回优点;   }      

将查到的数据放到后台,建立一个SelectedServlet类,用于接收查询到的所有省份的信息

        response.setContentType (“application/json; charset=utf - 8”);   response.setCharacterEncoding (“utf - 8”);   request.setCharacterEncoding(“utf - 8”);//创建一个地方对象   ArrayList.findAllPro优点=新地方()();   PrintWriter=response.getWriter ();//将集合直接转换为Json对象   out.write (JSONArray.fromObject(优点).toString ());之前      

在这里会用到集合转换Json对象,我们需要导入以下几个包

  

使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例

  

然后我们开始写前台页面:

        & lt; body>   省份:& lt;选择id=笆 北?   & lt; option>——请选择省份——& lt;/option>   & lt;/select>      城市:& lt;选择id=俺鞘小北?   & lt; option>——请选择城市——& lt;/option>   & lt;/select>   & lt; br/祝辞& lt; br/比;   & lt; span> & lt;/span>   & lt;/body>之前      

然后jQuery代码如下:(由于我导入的jQuery版本比较低,所以使用的方法是getJSON,而不是getJSON)

        .getJSON美元(“SelectedServlet”功能(数据、textStatus) {   var=省份数据;      var res=" ";   我(var=0; i< provinces.length;我+ +){   & lt;跨度比;& lt;/span> res +=& lt; option>“+省[我].place +“& lt;/option>”;   }   $(" #省”).append (res);   });

使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例