java ajax三级联动_ajax实现省市三级联动效果

本文实例为大家分享了ajax实现三级联动效果的具体代码,供大家参考,具体内容如下

1、html代码

Title

.wrap

{

background-color: beige;

width: 400px;

height: 200px;

margin: 0 auto;

text-align: center;

margin-top: 200px;

}

.wrap select

{

width:130px;

height: 30px;

}

function getctiydata() {

$("#city").empty();

var pid = $("#province").val();

$.ajax({

url:"/getCitys?pid="+pid,

dataType:"json"

}).done(function (data) {

for (var i in data)

{

$("#city").append($(""

+ data[i].name +""))

}

})

}

$.ajax({

url: "/getAllProvince",

dataType:"json"

}).done(function (data) {

for (var i in data)

{

$("#province").append($(""

+ data[i].name +""))

}

getctiydata()

});

$("#province").change(function () {

getctiydata()

})

2、javaservlet

package servlet;

import DButil.DataSourceUtil;

import com.alibaba.fastjson.JSON;

import domain.Province;

import org.apache.commons.dbutils.QueryRunner;

import org.apache.commons.dbutils.handlers.BeanListHandler;

import javax.jws.WebService;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

import java.sql.SQLException;

import java.util.List;

@WebServlet("/getAllProvince")

public class ProvinceServlet extends HttpServlet

{

@Override

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException

{

resp.setContentType("application/json;charset=utf8");

QueryRunner queryRunner = new QueryRunner(DataSourceUtil.getDataSource());

String sql = "select * from province";

try

{

List provinces = queryRunner.query(sql, new BeanListHandler(Province.class));

Object json = JSON.toJSON(provinces);

resp.getWriter().print(json);

} catch (SQLException e)

{

e.printStackTrace();

}

}

}

package servlet;

import DButil.DataSourceUtil;

import com.alibaba.fastjson.JSON;

import domain.City;

import org.apache.commons.dbutils.QueryRunner;

import org.apache.commons.dbutils.handlers.BeanListHandler;

import javax.jws.WebService;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

import java.sql.SQLException;

import java.util.List;

@WebServlet("/getCitys")

public class CityServlet extends HttpServlet

{

@Override

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException

{

resp.setContentType("application/json;charset=utf8");

QueryRunner queryRunner = new QueryRunner(DataSourceUtil.getDataSource());

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

String sql = "select * from City where pid=?";

try

{

List cities = queryRunner.query(sql, new BeanListHandler(City.class), pid);

Object toJSON = JSON.toJSON(cities);

resp.getWriter().print(toJSON);

} catch (SQLException e)

{

e.printStackTrace();

}

}

}

3、数据库池化

com.mysql.jdbc.Driver

jdbc:mysql://localhost:3306/text

root

root

0

以上就是省市联动的核心代码。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Ajax省市三级联动是一种前端页面交互功能,用于在用户选择省份、城市和区县时实现动态加载相应数据的功能。 首先,需要在前端页面通过HTML代码创建三个下拉框,分别表示省份、城市和区县。然后,使用JavaScript编写前端的Ajax请求,通过发送异步请求到后端服务,获取数据。 在后端Java代码中,可以使用Spring MVC或Servlet等框架处理前端Ajax请求。首先,需要在数据库中建立相应的省市区数据表,并将数据存储在表中。然后,可以使用JDBC或MyBatis等数据库访问框架,编写相应的Java代码实现数据的查询和返回。 具体实现时,可以通过监听省份下拉框的变化事件,在事件处理函数内发送Ajax请求到后端服务,将当前选择的省份作为参数传递给后端。后端服务可以根据省份查询对应的城市数据,将城市数据返回给前端。 类似地,继续监听城市下拉框的变化事件,在事件处理函数内发送Ajax请求到后端服务,将当前选择的城市和省份作为参数传递给后端。后端服务可以根据城市和省份查询对应的区县数据,将区县数据返回给前端。 最后,根据返回的数据,在前端页面使用JavaScript动态修改区县下拉框的选项,实现三级联动效果。 总结起来,Java Ajax省市三级联动通过前端页面的交互和后端的数据处理,实现了在用户选择省份、城市和区县时动态加载相应数据的功能。这种开发方式能够提高用户体验,同时满足实际业务需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值