省市联动ajax,从数据库中获取

  1. Ajax前端源码
    Mapper 和 model 都是由逆向工程生成
//todo 省市联动
//页面加载显示全部的省
$.ajax({
    url:"${pageContext.request.contextPath}/province/findAllProvince.do",
    type:"post",
    dataType:"json",
    success:function(data){
        $(data).each(function(a,b){
            if(b.xzqhmc!=$("select[name='请选择省']").val()  ){
                $("#province").append("<option value='"+b.xzqhbh+"'>"+b.xzqhmc+"</option>");
            }
        });
    },
    error:function(){

    }
});
$("#province").change(function(){
    $("#city").empty();
    $("#area").empty();
    $("#town").empty();
    var a = $("#province option:selected").text();
    $("#provinceName").val(a);
    var pId = $("#province").val();
    $("#city").append("<option value='0'>请选择市</option>");
    $("#area").append("<option value='0'>请选择区</option>");
    $("#town").append("<option value='0'>请选择乡镇</option>");
    $.ajax({
        url:"${pageContext.request.contextPath}/province/findAllCity.do",
        type:"post",
        dataType:"json",
        data:{"province":pId},
        success:function(data){
            $(data).each(function(a,b){
                $("#city").append("<option value='"+b.xzqhbh+"'>"+b.xzqhmc+"</option>");
            });
        },
        error:function(){
        }
    });
});

$("#city").change(function(){
    $("#area").empty();
    $("#town").empty();
    var pId = $("#city").val();
    var a = $("#city option:selected").text();
    $("#cityName").val(a);
    $("#area").append("<option value='0'>请选择区</option>");
    $("#town").append("<option value='0'>请选择乡镇</option>");

    $.ajax({
        url:"${pageContext.request.contextPath}/province/findAllArea.do",
        type:"post",
        dataType:"json",
        data:{"city":pId},
        success:function(data){
            $(data).each(function(a,b){
                $("#area").append("<option value='"+b.xzqhbh+"'>"+b.xzqhmc+"</option>");
            });
        },
        error:function(){
        }
    });
});
$("#area").change(function(){
    $("#town").empty();
    var pId = $("#area").val();
    var a = $("#area option:selected").text();
    $("#areaName").val(a);
    $("#town").append("<option value='0'>请选择乡镇</option>");

    $.ajax({
        url:"${pageContext.request.contextPath}/province/findAllTown.do",
        type:"post",
        dataType:"json",
        data:{"area":pId},
        success:function(data){
            $(data).each(function(a,b){
                $("#town").append("<option value='"+b.xzqhbh+"'>"+b.xzqhmc+"</option>");
            });
        },
        error:function(){
        }
    });
});


<fieldset>
    <select name="provinceCode" id="province">
        <option value="1">请选择省</option>
    </select>

    <select  name="city" id="city">
        <option value="1">请选择市</option>
    </select>

    <select name="area" id="area">
        <option value="1">请选择区</option>
    </select>
    <select id="town" name="town">
        <option value="1">请选择乡镇</option>
     </select>
    <%--<script type="text/javascript" src="${pageContext.request.contextPath}/js/city.js"></script>--%>
</fieldset>
  1. Service层
package edu.tjau.rj.platform.service;

import edu.tjau.rj.platform.model.Xzqhb;

import java.util.List;

public interface ProvinceService {
    List<Xzqhb> findAllProvince();
    List<Xzqhb> findAllCity(String province);
    List<Xzqhb> findAllArea(String city);
    List<Xzqhb> findAllTown(String area);
}
package edu.tjau.rj.platform.service.impl;

import edu.tjau.rj.platform.mapper.XzqhbMapper;
import edu.tjau.rj.platform.model.Xzqhb;
import edu.tjau.rj.platform.model.XzqhbExample;
import edu.tjau.rj.platform.service.ProvinceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class ProvinceServiceImpl implements ProvinceService {
    @Autowired
    private XzqhbMapper xzqhbMapper;
    @Override
    public List<Xzqhb> findAllProvince() {
        XzqhbExample xzqhbExample = new XzqhbExample();
        XzqhbExample.Criteria criteria = xzqhbExample.createCriteria();
        criteria.andXzqhjbEqualTo("1");
        List<Xzqhb> xzqhbs = xzqhbMapper.selectByExample(xzqhbExample);
        return xzqhbs;
    }

    @Override
    public List<Xzqhb> findAllCity(String province) {
        XzqhbExample xzqhbExample = new XzqhbExample();
        XzqhbExample.Criteria criteria = xzqhbExample.createCriteria();
        criteria.andSsxzqhbhEqualTo(province);

        List<Xzqhb> xzqhbs = xzqhbMapper.selectByExample(xzqhbExample);
        return xzqhbs;
    }

    @Override
    public List<Xzqhb> findAllArea(String city) {
        XzqhbExample xzqhbExample = new XzqhbExample();
        XzqhbExample.Criteria criteria = xzqhbExample.createCriteria();
        criteria.andSsxzqhbhEqualTo(city);
        List<Xzqhb> xzqhbs = xzqhbMapper.selectByExample(xzqhbExample);
        return xzqhbs;
    }

    @Override
    public List<Xzqhb> findAllTown(String area) {
        XzqhbExample xzqhbExample = new XzqhbExample();
        XzqhbExample.Criteria criteria = xzqhbExample.createCriteria();
        criteria.andSsxzqhbhEqualTo(area);
        List<Xzqhb> xzqhbs = xzqhbMapper.selectByExample(xzqhbExample);
        return xzqhbs;
    }
}
  1. Controller控制层
package edu.tjau.rj.platform.web.controller;

import edu.tjau.rj.platform.model.Xzqhb;
import edu.tjau.rj.platform.service.ProvinceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

@Controller
@RequestMapping("/province")
public class ProvinceController {
    @Autowired
    private ProvinceService provinceService;
    //获取所有的省信息
    @RequestMapping ("/findAllProvince")
    @ResponseBody
    public List<Xzqhb> findAllProvince(){
        List<Xzqhb> allProvince = provinceService.findAllProvince();
        return  allProvince;
    }

    //获取所有城市信息
    @RequestMapping("/findAllCity")
    @ResponseBody
    public List<Xzqhb> findAllCity(String province){
        List<Xzqhb> allCity = provinceService.findAllCity(province);
        return  allCity;
    }

    //获取所有的县
    @RequestMapping("/findAllArea")
    @ResponseBody
    public List<Xzqhb> findAllArea(String city){
        List<Xzqhb> allArea = provinceService.findAllArea(city);
        return allArea;
    }
    @RequestMapping("/findAllTown")
    @ResponseBody
    public List<Xzqhb> findAllTown(String area){
        List<Xzqhb> allArea = provinceService.findAllTown(area);
        return allArea;
    }
}
  1. 分析
    4.1. 省份获取
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

4.2. 行政区获取

在这里插入图片描述
在这里插入图片描述

4.3. 区域的获取

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.4. 乡镇的获取
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
另外附上数据库文件
链接:https://pan.baidu.com/s/1BcUnaTw6AL3TOcW69V0WTg
提取码:dcxr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值