jquery ajax java二级联动_jquery,ajax实现二级省市联动

后台代码:

package com.weixin.servlet;

import java.io.IOException;

import java.io.PrintWriter;

import java.sql.SQLException;

import java.util.List;

import java.util.Map;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;

import com.weixin.dao.userDao;

public class demo1Servlet extends HttpServlet {

userDao ud = new userDao();

@Override

protected void service(HttpServletRequest req, HttpServletResponse res)

throws ServletException, IOException {

req.setCharacterEncoding("UTF-8");

res.setCharacterEncoding("UTF-8");

String method = req.getParameter("method");

System.out.println(method);

if (method.equalsIgnoreCase("ajaxmod")) {

doajax(req, res);

} else if (method.equalsIgnoreCase("ajaxmod1")) {

try {

doajax1(req, res);

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

}else if(method.equalsIgnoreCase("ajaxmod2")){

try {

doajax2(req, res);

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

//查找city

private void doajax2(HttpServletRequest req, HttpServletResponse res) throws ClassNotFoundException, SQLException, IOException {

String p_id=req.getParameter("p_id");

System.out.println(p_id);

List> list = ud.queryForCity(p_id);

//解析json需要的jar包如左  7

String city = JSONArray.fromObject(list).toString();

System.out.println(city);

PrintWriter pw = res.getWriter();

pw.write(city);

}

// 查找省份

private void doajax1(HttpServletRequest req, HttpServletResponse res)

throws ClassNotFoundException, SQLException, IOException {

List> list = ud.queryForPro();

System.out.println(list);

String pro = JSONArray.fromObject(list).toString();

System.out.println(pro);

PrintWriter pw = res.getWriter();

pw.write(pro);

}

// 根据上面来

private void doajax(HttpServletRequest req, HttpServletResponse res) {

PrintWriter pw = null;

String name = req.getParameter("name");

boolean flag = ud.queryName(name);

try {

pw = res.getWriter();

} catch (IOException e) {

e.printStackTrace();

}

if (flag) {

pw.write("1");

}

}

}

===============================================

UserDao:

package com.weixin.dao;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.List;

import java.util.Map;

import com.weixin.Util.BaseDao;

public class userDao {

BaseDao bd = new BaseDao();

//he查用户名是否注册

public boolean queryName(String name) {

ResultSet rs = bd.executeQuery("select * from test where name='" + name

+ "'");

boolean flag = false;

try {

if (rs.next()) {

flag = true;

}

} catch (SQLException e) {

e.printStackTrace();

}finally{

bd.close(rs, null, null);

}

return flag;

}

//数据库查找省份的苏岩礁

public List> queryForPro() throws ClassNotFoundException, SQLException{

ResultSet rs = bd.executeQuery("select * from dictionary where type='provence'");

System.out.println("rs: "+rs);

List> list=bd.rsToList(rs);

System.out.println(list);

if(!list.isEmpty()){

return list;

}

return null;

}

//数据库查找省份下的city

public List> queryForCity(String id) throws ClassNotFoundException, SQLException{

int p_id=Integer.valueOf(id);

System.out.println("p_id"+p_id);

ResultSet rs = bd.executeQuery("select * from dictionary where type='city' and parent_id = '"+p_id+"'");

List> list=bd.rsToList(rs);

if(!list.isEmpty()){

return list;

}

return null;

}

}

===========================================================前台页面:

demo2.html

$(function() {

//msg就是从上一个servlet中获取的字符串 直接解析

$.post("/ajaxDemo/demo1.do?method=ajaxmod1", function(msg) {

//怕产生浏览器差异 所以

var pro = eval("(" + msg + ")");

//alert(pro);

for ( var i = 0; i < pro.length; i++) {

$("#pro").append(

"" + pro[i].code

+ "");

}

});

/* 写在里面function 加载页面面 */

$("#pro").change(

function() {

var pid = document.getElementById("pro").value;

$.post("/ajaxDemo/demo1.do?method=ajaxmod2&p_id=" + pid,

function(msg) {

//怕产生浏览器差异 所以

var pro = eval("(" + msg + ")");

for ( var i = 0; i < pro.length; i++) {

//在jquery里面  remove()是删除的元素还有其子元素    empty是删除其子元素

$("#city").empty()

.append(

""

+ pro[i].code

+ "");

}

});

});

});

请选择

请选择

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值