使用Ajax异步请求实现省市联动下拉列表

本文介绍了如何通过Ajax异步请求实现省市联动的下拉列表功能。在选择省份后动态加载对应城市的下拉选项。环境配置包括IntelliJ IDEA、Tomcat、JDK17和MySQL8.0.22。数据库设计包含省市区的层级关系,前端接收服务器返回的JSON数据填充选项,服务器端使用Java处理数据库查询并以JSON格式响应。
摘要由CSDN通过智能技术生成

省市联动下拉列表:在网页上,选择对应的省份之后,动态的关联出该省份对应的市。选择对应的市之后,动态的关联出该市对应的区。本文只实现省市联动

本文使用的环境是:

        集成开发环境:IntelliJ IDEA 2022.1    

        开源服务器:tomcat-10.0.20   

        Java驱动:jdk17     

        MySQL版本:mysql=8.0.22

首先进行数据库表的设计:每个省份或城市都有编码,字段为code,每个省份或城市的都有相应名字,字段为area,为了方便我们使用一张表存储数据,所以每个城市都有一个父编码表示所在的省份的编码,而省份没有父编码。如下图所示的数据库表截图:

 

然后进行前端页面的设计:

一共两个下拉列表:

实现代码:接受服务器端返回的json格式字符串,取出其中的数据,放到前端界面上。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ajax实现省市联动</title>
    <script type="text/javascript">
        window.onload = function (){
            // 在页面加载完成之后将省份查询出来,显示出下拉列表
            /*
            ajax发送异步请求四步
            1.创建XMLHttpRequest对象
            2.编写回调函数
                 判断核心对象XMLHttpRequest的状态,其中
                        0:请求未初始化
                        1:服务器连接已建立
                        2:请求已收到
                        3:正在处理请求
                        4:请求已完成且响应已就绪
            3.开启通道
            4.发送请求
             */
            // 第一步
            var xhr1 = new XMLHttpRequest()
            // 第二步
            xhr1.onreadystatechange = function (){
                if (xhr1.readyState == 4){  //  判断ajax核心对象的状态
                    if (xhr1.status ==200){   // 判断浏览器的响应状态码,200表示请求成功
                        // 接受服务器端返回的json格式字符串:xhr1.responseText,将其使用JSON.parse()函数转化为一个jaon对象
                        var jsonArea = JSON.parse(xhr1.responseText)
                        // 创建一个字符型变量,进行拼接 省 下拉列表的html代码
                        var html = "
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
版本:v1.2 ----------------------------------------------- (C) Oran Day(likecode#gmail.com) ----------------------------------------------- ----------------------------------------------- 文件夹说明: - ChinaRegions_Complained 已编译后的dll - ChinaRegions_Source - 服务器控件源码项目 - html - 演示代码级源测试代码 ----------------------------------------------- ----------------------------------------------- ChinaRegion 文件名:OranChinaRegion.dll 自我说明XML:OranChinaRegion.XML 描述: 中国行政区域二级联系菜单,根据上级行政区加载下级行政区列表 XML数据驱动,可自定义添加、删除,简易更新 支持回发恢复状态,已正确设定行政区可自动选定和加载各级行政区数据 其它说明: 应用网站必须存在行政区域的数据XML文件,默认放于应用页面同级目录的oran/regions下,其中regions.xml为一级行政区数据,其它均为二级行政区数据 可自定义修改XML目录,在web.config/appSettings/ChinaRegionXmlFolderPath 配置,e.g.:/oran/regions 创建实例至少指定 runat 和 ID 属性。 应用: 1.为网站添加DLL引用 引用OranChinaRegion.dll 2.复制XML文件至网站 3.注册控件 e.g.: 4.在您期望的位置插入该控件, e.g.: 5.获取值 ParentRegion 获取或设置一级行政区 ChildRegion 获取或设置二级行政区 e.g: string parRgn = region1.ParentRegion; if (parRgn.Length > 0) Response.Write("您选择的是:" + parRgn); string chdRgn = region1.ChildRegion; if (chdRgn.Length > 0) Response.Write(" - " + chdRgn); 6.减少网络传输量,提高网络传输效率,您可以将XML压缩再应用于实际网站。 7.更多参数请参考自我说明XML。 8.期待您报告BUG:)。 -----------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值