Ajax实现城市二级联动(一)
发布时间 - 2026-01-10 23:09:37 点击率:次前一篇是把省份和城市都写在JS里,这里把城市放在PHP里,通过发送Ajax请求城市数据渲染到页面。

1、html
<select id="province"> <option>请选择</option> <option>山东省</option> <option>辽宁省</option> <option>吉林省</option> </select> <select id="city"> <option>请选择</option> </select>
2、javascript
<script>
/*
* 需要思考哪些事情?
* * 在什么时候执行Ajax的异步请求?
* * 当用户选择具体的省份信息时
*/
// 1. 为id为province元素绑定onchange事件
var provinceEle = document.getElementById("province");
provinceEle.onchange = function(){
// 清空
var city = document.getElementById("city");
var opts = city.getElementsByTagName("option");
for(var z=opts.length-1;z>0;z--){
city.removeChild(opts[z]);
}
if(provinceEle.value != "请选择"){
// 2. 执行Ajax异步请求
var xhr = getXhr();
xhr.open("post","06.php");
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send("province="+provinceEle.value);
xhr.onreadystatechange = function(){
if(xhr.readyState==4&&xhr.status==200){
// 接收服务器端的数据内容
var data = xhr.responseText;
// data是字符串,转换为数组
var cities = data.split(",");
for(var i=0;i<cities.length;i++){
var option = document.createElement("option");
var textNode = document.createTextNode(cities[i]);
option.appendChild(textNode);
city.appendChild(option);
}
}
}
}
};
// 定义获取ajax核心对象的函数XMLHttpRequest对象的函数
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject("Microsoft.XMLHttp");
}
return xhr;
}
</script>
3、06.php
<?php
// 用于处理客户端请求二级联动的数据
// 1. 接收客户端发送的省份信息
$province = $_POST['province'];
// 2. 判断当前的省份信息,提供不同的城市信息
switch ($province){
case '山东省':
echo '青岛市,济南市,威海市,日照市,德州市';
break;
case '辽宁省':
echo '沈阳市,大连市,铁岭市,丹东市,锦州市';
break;
case '吉林省':
echo '长春市,松原市,吉林市,通化市,四平市';
break;
}
// 服务器端响应的是字符串
?>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Ajax
# 二级联动
# Ajax结合php实现二级联动
# Spring MVC中Ajax实现二级联动的简单实例
# jQuery+JSON实现AJAX二级联动实例分析
# AJAX解析XML实例之下拉框省、市二级联动
# ajax读取数据库内容实现二级联动下拉选择菜单示例
# Ajax二级联动菜单实现原理及代码
# asp.net下使用AjaxPro实现二级联动代码
# 基于asp+ajax和数据库驱动的二级联动菜单
# 一个强健 实用的asp+ajax二级联动菜单(有演示和附源程序打包下载)
# 请选择
# 吉林省
# 辽宁省
# 山东省
# 松原市
# 通化市
# 铁岭市
# 日照市
# 德州市
# 锦州市
# 丹东市
# 威海市
# 吉林市
# 长春市
# 的是
# 大连市
# 客户端
# 沈阳市
# 济南市
# 青岛市
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
如何续费美橙建站之星域名及服务?
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
javascript基本数据类型及类型检测常用方法小结
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
JS去除重复并统计数量的实现方法
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
动图在线制作网站有哪些,滑动动图图集怎么做?
WordPress 子目录安装中正确处理脚本路径的完整指南
php打包exe后无法访问网络共享_共享权限设置方法【教程】
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
用yum安装MySQLdb模块的步骤方法
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
Python高阶函数应用_函数作为参数说明【指导】
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
轻松掌握MySQL函数中的last_insert_id()
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
详解阿里云nginx服务器多站点的配置
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
如何在 React 中条件性地遍历数组并渲染元素
桂林网站制作公司有哪些,桂林马拉松怎么报名?
Laravel如何使用Collections进行数据处理?(实用方法示例)
北京专业网站制作设计师招聘,北京白云观官方网站?
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
如何快速搭建安全的FTP站点?
Laravel如何创建自定义Facades?(详细步骤)
Swift中switch语句区间和元组模式匹配
如何撰写建站申请书?关键要点有哪些?
Laravel如何升级到最新版本?(升级指南和步骤)
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
微信小程序 闭包写法详细介绍
如何快速查询网站的真实建站时间?
Laravel如何配置Horizon来管理队列?(安装和使用)
制作企业网站建设方案,怎样建设一个公司网站?
5种Android数据存储方式汇总
什么是javascript作用域_全局和局部作用域有什么区别?
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
高性能网站服务器部署指南:稳定运行与安全配置优化方案
如何生成腾讯云建站专用兑换码?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
Laravel如何使用Blade模板引擎?(完整语法和示例)

