Java中省市区三级联动,附前后台及数据库

实体pojo

@Entity
@Table(name = "province_city_district")
@Data
public class PCD {@Id@GeneratedValue(strategy = GenerationType.AUTO)private int id;private int pid;private String name;@Overridepublic String toString() {return "PCD [id=" + id + ", pid=" + pid + ", name=" + name + "]";}}

后台代码controller

 @Controller
@RequestMapping("/login")
public class testController {@Autowiredprivate testservice testService;@RequestMapping("test")public String demo() {return "externalMessFilling/index11";}/*** 省市区三级联动根据pid查询* @param request* @param response* @throws IOException*/@RequestMapping("get")@ResponseBodypublic void getPCD(HttpServletRequest request,HttpServletResponse response) throws IOException {response.setContentType("text/xml;Charset=UTF-8");int pid = Integer.parseInt(request.getParameter("pid"));List<PCD> pcdList = testService.findPCDByPid(pid);String json = JSON.toJSONString(pcdList);response.getWriter().write(json);}}

后台代码service

public interface testservice {public List<PCD> findPCDByPid(int pid);
}//impl@Overridepublic List<PCD> findPCDByPid(int pid) {return testDao.findPCDByPid(pid);}

后台代码dao

public interface testdao extends JpaRepository<PCD,Integer> {@Query(nativeQuery = true,value ="select * from province_city_district where pid =:pid")List<PCD> findPCDByPid(@Param("pid")int pid);
}

前台jsp代码


<%@ page contentType="text/html; charset=UTF-8"%>
<%@taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta name="Generator" content="ECSHOP v2.7.3" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="Keywords" content="" /><meta name="Description" content="" /><title>提交订单</title>
</head>
<body>
<div class="block clearfix"><div class="AreaR"><div class="block box"><div class="blank"></div></div><div class="blank"></div><div class="box"><div class="box_1"><div class="userCenterBox boxCenterList clearfix" style="_height:1%;"><table width="100%" align="center" border="0" cellpadding="5"cellspacing="1" bgcolor="#dddddd"><tr><td bgcolor="#ffffff" align="right" width="120px">区域信息:</td><td bgcolor="#ffffff"><!-- 省 --><select id="province"name="province" onchange="changeCity()"><option value="">-- 请选择省 --</option></select>&nbsp;&nbsp;&nbsp;<!-- 市 --><select id="city" name="city" onchange="changeDistrict()"><option value="">-- 请选择市 --</option></select>&nbsp;&nbsp;&nbsp;<!-- 县(区) --><select id="district" name="district" onchange="changeDhiddenValue()"><option value="">-- 请选择县(区) --</option></select><!-- 添加隐藏域,用来提交给后台省市区对应的中文名 --><input type="hidden" name="phidden" id="phidden"><input type="hidden" name="chidden" id="chidden"><input type="hidden" name="dhidden" id="dhidden"></td></tr></table></div></div></div></div></div></body>
<%--切记切记要记得引 jquery包--%>
<script src="${ctx}/style/jquery-ui-1.9.2.custom/js/jquery-1.8.3.js"></script>
<script type="text/javascript">$(function(){$.ajax({type:"POST",url:"${ctx}/login/get",data:{"pid":0},dataType:"json",success:function(data){for(var i=0;i<data.length;i++){var $option = $("<option value='"+data[i].id+"'>"+data[i].name+"</option>");$("#province").append($option);}}});});function changeCity(){//当省的内容发生变化的时候,响应的改变省的隐藏域的值$("#phidden").val($("#province option:selected").html());//页面加载完成,将省的信息加载完成//下拉列表框标签对象的val()方法就是选中的option标签的value的属性值var pid = $("#province").val();$.ajax({url:"${ctx}/login/get",data:{"pid":pid},dataType:"json",success:function(data){//清空城市下拉列表框的内容$("#city").html("<option value=''>-- 请选择市 --</option>");$("#district").html("<option value=''>-- 请选择区/县 --</option>");//遍历json,json数组中每一个json,都对应一个省的信息,都应该在省的下拉列表框下面添加一个<option>for(var i=0;i<data.length;i++){var $option = $("<option value='"+data[i].id+"'>"+data[i].name+"</option>");$("#city").append($option);}}});}function changeDistrict(){//当城市的内容发生变化的时候,相应的改变城市的隐藏域的值$("#chidden").val($("#city option:selected").html());//页面加载完成,将省的信息加载完成//下拉列表框标签对象的val()方法就是选中的option标签的value的属性值var pid = $("#city").val();$.ajax({url:"${ctx}/login/get",data:{"pid":pid},dataType:"json",success:function(data){//清空城市下拉列表框的内容$("#district").html("<option value=''>-- 请选择区/县 --</option>");for(var i=0;i<data.length;i++){var $option = $("<option value='"+data[i].id+"'>"+data[i].name+"</option>");$("#district").append($option);}}});}function changeDhiddenValue(){//当城市的内容发生变化的时候,相应的改变城市的隐藏域的值$("#dhidden").val($("#district option:selected").html());}
</script>
</html>

mysql省市区三级联动sql文件

链接: https://pan.baidu.com/s/1k0FR17IHiUmqp60nEXMbtA 提取码: 291f

以上代码springboot项目全部复制即可,其他框架修改dao即可,亲测妥妥可以使用!

Java中省市区三级联动,附前后台及数据库相关推荐

  1. javascript 省市区三级联动 附: json数据

    html: <label><span>购买地址</span><select name="PurchaseProvince" style=& ...

  2. 微信小程序vant异步获取自定义省市区三级联动(附地区数据库)

    wxml文件 <van-field value="{{ district_text }}" name="district_text" type=" ...

  3. 在yii框架中php三级联动,Yii中省市区三级联动 | 恋香缘

    1.view层 $this->pageTitle = '个人设置 - ' . Yii::app()->name; echo $this->renderPartial('optionS ...

  4. JQuery+ajax实现省市区三级联动(附:补充代码内容)

    省市区三级联动的实现(附:补充代码) 有了下面的代码,别忘了导入需要的jar包,用到的jar包到网上都能找到. 如果觉得不错,就点个赞!谢谢观望!! ##  1.效果图 ##  2.jsp页面,nov ...

  5. Java 省市区三级联动

    省市区三级联动 1.创建两个类的项目,先运行在修改中理解.重要的是要自己写一遍,理解一句代码最好的方法就是替换,删除观察区别. package linkge; import javax.swing.; ...

  6. mysql 省市区三级联动_javaweb--json--ajax--mysql实现省市区三级联动(附三级联动数据库)...

    在web中,实现三级联动很常见,尤其是利用jquery+json.但是从根本上来说jquery并不是最能让人容易理解的,接下来从最基本的javascript开始,实现由javascript+json+ ...

  7. java实现省市区的联动,chosen实现省市区三级联动

    本文实例为大家分享了chosen实现省市区三级联动的具体代码,供大家参考,具体内容如下 效果图: 一.资源 1.1.css资源 1.2.js资源 二.代码 请选择省份 ${province.name! ...

  8. 实战演练-java+微信小程序实现省市区三级联动

    最终效果图 官方的"省市区选择器"mode="region"里的数据是定死的由微信提供,不能做更改,好在同是picker组件mode="multiSe ...

  9. vue中实现省市区三级联动(V-Distpicker插件)

    本次项目中使用了V-Distpicker 插件实现了省市区三级联动 V-Distpicker 项目文档地址 V-Distpicker git地址 使用方法 npm install v-distpick ...

最新文章

  1. 【转】后勤自动过帐(OBYC)详细配置说明
  2. 使用SDL打造游戏世界之入门篇 - 4
  3. android contentDescription的使用
  4. 分析redis中大key的几种办法
  5. R语言学习笔记(二)处理函数与基本图形绘制
  6. 【干货】基于内容理解的新闻推荐.pdf(附下载链接)
  7. 邮件服务器实用技巧和选购指南
  8. 高性能迷你React框架anujs1.0.8发布
  9. html时间显示在div中,在html页面实时显示系统时间
  10. 555集成定时器及其应用
  11. exchange 服务器设置自动答复,Exchange自动回复设置配置
  12. VR/AR/MR/XR 几种虚拟现实技术的区别
  13. 服务器怎么设置mqtt遗嘱消息,MQTT 遗嘱消息、Retained消息、QOS上线下线实现
  14. 用流量扫码总显示无法连接服务器,手机有流量但无法连接网络?手机数据网络不能访问互联网...
  15. 一款基本靠谱,略微出圈的2021十大科技预测
  16. MySQL多表查询大全(超精确)
  17. python基础主要内容_python基础知识
  18. Android用户头像上传
  19. Flutter Win桌面应用环境配置
  20. 关于MySQL的文献M_什么是参考文献?文献类型标识码有,M、J、C、N、D、P、S、DB/OL、J/OL、N/OL等它们都代表什么意思?(提...

热门文章

  1. android最新v7包下载,android-support-v7-recyclerview的jar包
  2. 关于膝盖矫形器的功能用途
  3. 2017南京师范大学计算机学院录取名单,重磅!南京师范大学2017年江苏省普通本一录取结果发布...
  4. “算力服务方阵”启动会暨“最强算力MAXP全球高性能云计算创新大赛”闭幕式在京召开
  5. 美国海关称区块链生物识别技术可用于旅行安全
  6. 奔跑的熊大案例(CSS3动画)
  7. 水下图像色彩还原(基于可见光衰减及图像去雾算法)
  8. 【华为机试真题 Python实现】导师请吃火锅【2022 Q1 Q2 |200分】
  9. uniapp之h5公众号分享和授权
  10. VB编程:DO...Loop循环语句比较最大最小值-16