本文实例为大家分享了Ajax实现城市二级联动的具体代码,供大家参考,具体内容如下

这是Ajax实现城市二级联动系列文章第三篇,把之前2篇整合在一起
1、html
<select id="province"> <option>请选择</option> </select> <select id="city"> <option>请选择</option> </select>
2、javascript
//创建获取ajax核心对象的函数
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject("Microsoft.XMLHttp");
}
return xhr;
}
var xhr = getXhr();
// 第一次执行Ajax异步请求 - 省份
window.onload = function(){
xhr.open("get","finaly.php?state=1");
xhr.send(null);
xhr.onreadystatechange = function(){
if(xhr.readyState==4&&xhr.status==200){
var data = xhr.responseText;
// 将字符串转换为数组
var provinces = data.split(",");
// 遍历数组
for(var i=0;i<provinces.length;i++){
// 创建option元素添加到id为province元素上
var option = document.createElement("option");
var text = document.createTextNode(provinces[i]);
option.appendChild(text);
var province = document.getElementById("province");
province.appendChild(option);
}
}
}
};
// 第二次执行Ajax异步请求 - 城市
var province=document.getElementById("province");
province.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(province.value != "请选择"){
xhr.open("post","finaly.php");
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send("state=2&province="+province.value);
xhr.onreadystatechange = function(){
if(xhr.readyState==4&&xhr.status==200){
var data = xhr.responseText;
var cities = data.split(",");
for(var i=0;i<cities.length;i++){
var option = document.createElement("option");
var text = document.createTextNode(cities[i]);
option.appendChild(text);
city.appendChild(option);
}
}
}
}
};
3、finaly.php
<?php
// 接收客户端发送的请求数据 - state
$state = $_REQUEST['state'];
// 判断$state的值
if($state == 1){// 获取省份
echo '山东省,辽宁省,吉林省';
}else{// 获取城市
$province = $_POST['province'];
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二级联动菜单(有演示和附源程序打包下载)
# 请选择
# 吉林省
# 辽宁省
# 山东省
# 松原市
# 通化市
# 铁岭市
# 日照市
# 锦州市
# 德州市
# 丹东市
# 威海市
# 吉林市
# 长春市
# 大连市
# 这是
# 沈阳市
# 济南市
# 青岛市
# 遍历
相关文章:
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
,购物网站怎么盈利呢?
如何通过商城自助建站源码实现零基础高效建站?
深圳网站制作平台,深圳市做网站好的公司有哪些?
建站之星后台管理系统如何操作?
如何通过老薛主机一键快速建站?
深圳网站制作培训,深圳哪些招聘网站比较好?
如何用y主机助手快速搭建网站?
网页设计与网站制作内容,怎样注册网站?
如何在IIS中配置站点IP、端口及主机头?
建站主机助手选型指南:2025年热门推荐与高效部署技巧
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
宝塔面板创建网站无法访问?如何快速排查修复?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
如何选择建站程序?包含哪些必备功能与类型?
ui设计制作网站有哪些,手机UI设计网址吗?
如何在阿里云通过域名搭建网站?
实例解析angularjs的filter过滤器
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
用v-html解决Vue.js渲染中html标签不被解析的问题
专业网站建设制作报价,网页设计制作要考什么证?
制作网站公司那家好,网络公司是做什么的?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
如何在云服务器上快速搭建个人网站?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
宝塔面板如何快速创建新站点?
SQL查询语句优化的实用方法总结
常州自助建站工具推荐:低成本搭建与模板选择技巧
建站之星安装失败:服务器环境不兼容?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
如何通过cPanel快速搭建网站?
公众号网站制作网页,微信公众号怎么制作?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
c# 在高并发场景下,委托和接口调用的性能对比
建站OpenVZ教程与优化策略:配置指南与性能提升
建站主机功能解析:服务器选择与快速搭建指南
清除minerd进程的简单方法
利用JavaScript实现拖拽改变元素大小
如何用虚拟主机快速搭建网站?详细步骤解析
建站之星展会模板:智能建站与自助搭建高效解决方案
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
*请认真填写需求信息,我们会在24小时内与您取得联系。