国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

Ajax實現城市二級聯動(二)

2024-09-01 08:27:25
字體:
來源:轉載
供稿:網友

上一篇聯動一種只是城市用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; } // 服務器端響應的是字符串?>            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 来凤县| 额尔古纳市| 张掖市| 区。| 南川市| 宁安市| 高淳县| 新干县| 克什克腾旗| 盐津县| 横山县| 手机| 河池市| 吉木乃县| 什邡市| 呈贡县| 咸宁市| 九龙城区| 台州市| 隆回县| 安塞县| 库伦旗| 亳州市| 霍邱县| 扎鲁特旗| 丹东市| 澳门| 安龙县| 二连浩特市| 宿州市| 盐城市| 高唐县| 台北县| 郑州市| 松潘县| 陵水| 黔南| 玉溪市| 伊川县| 望奎县| 黄骅市|