全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Ajax实现城市二级联动(二)

上一篇联动一种只是城市用ajax请求获取并渲染,这里将省份也用ajax请求并渲染

1、HTML

<select id="province">
 <option>请选择</option>
 </select>
 <select id="city">
 <option>请选择</option>
 </select>

2、JS

/*
 * 省份信息和城市信息全部来源于服务器端
 * * 第一种思路 - 基于前一个案例
 * * 获取省份信息,使用一次Ajax的异步请求
 * * 根据省份信息,再次使用Ajax的异步请求
 * * 第二种思路 - 重新思考
 * * 一次性将省份和城市获取
 */
 // a. 创建XMLHttpRequest对象
 var xhr = getXhr();
 // 第一种思路 - 基于前一个案例
 // 1. 当页面加载时,实现Ajax的异步请求 - 省份信息
 window.onload = function(){
 // b. 建立连接 - open("get","07_province.php");
 xhr.open("get","07_province.php");
 // c. 发送请求 - send(null)
 xhr.send(null);
 // d. 接收服务器端的数据
 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);
  }
  }
 }
 };
 // 2. 当用户选择省份信息时,实现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","07_cities.php");
  xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  xhr.send("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);
   }
  }
  }
 }
 
 };
 //定义获取Ajax核心对象的函数
 function getXhr(){
 var xhr = null;
 if(window.XMLHttpRequest){
  xhr = new XMLHttpRequest();
 }else{
  xhr = new ActiveXObject("Microsoft.XMLHttp");
 }
 return xhr;
 }

3、province.php

<?php
 echo '山东省,辽宁省,吉林省';
?>

cities.pnp

<?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二级联动菜单(有演示和附源程序打包下载)  # 请选择  # 吉林省  # 辽宁省  # 山东省  # 松原市  # 通化市  # 铁岭市  # 日照市  # 德州市  # 锦州市  # 丹东市  # 第一种  # 威海市  # 吉林市  # 长春市  # 的是  # 大连市  # 客户端  # 沈阳市  # 济南市 


相关文章: 如何用y主机助手快速搭建网站?  如何选择适配移动端的WAP自助建站平台?  如何批量查询域名的建站时间记录?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  javascript中的try catch异常捕获机制用法分析  建站之星安装需要哪些步骤及注意事项?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Thinkphp 中 distinct 的用法解析  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何做静态网页,sublimetext3.0制作静态网页?  如何制作网站标识牌,动态网站如何制作(教程)?  建站主机是什么?如何选择适合的建站主机?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  动图在线制作网站有哪些,滑动动图图集怎么做?  香港服务器租用每月最低只需15元?  设计网站制作公司有哪些,制作网页教程?  建站之星价格显示格式升级,你的预算足够吗?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何通过商城自助建站源码实现零基础高效建站?  内网网站制作软件,内网的网站如何发布到外网?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何选择CMS系统实现快速建站与SEO优化?  如何选择域名并搭建高效网站?  活动邀请函制作网站有哪些,活动邀请函文案?  高防服务器租用首荐平台,企业级优惠套餐快速部署  已有域名和空间,如何快速搭建网站?  如何通过网站建站时间优化SEO与用户体验?  如何用IIS7快速搭建并优化网站站点?  如何零基础在云服务器搭建WordPress站点?  高端云建站费用究竟需要多少预算?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  制作网站的软件免费下载,免费制作app哪个平台好?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  英语简历制作免费网站推荐,如何将简历翻译成英文?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何生成腾讯云建站专用兑换码?  ,南京靠谱的征婚网站?  学校建站服务器如何选型才能满足性能需求?  北京网站制作公司哪家好一点,北京租房网站有哪些?  如何选择最佳自助建站系统?快速指南解析优劣  黑客如何利用漏洞与弱口令入侵网站服务器?  如何用免费手机建站系统零基础打造专业网站?  如何在阿里云购买域名并搭建网站?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  如何在搬瓦工VPS快速搭建网站?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  制作网站的模板软件,网站怎么建设?  建站之星如何快速生成多端适配网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。