溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Ajax實現(xiàn)城市二級聯(lián)動d

發(fā)布時間:2021-05-18 14:00:25 來源:億速云 閱讀:121 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了Ajax實現(xiàn)城市二級聯(lián)動d,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1、html

<select id="province">
 <option>請選擇</option>
 </select>
 <select id="city">
 <option>請選擇</option>
 </select>

2、javascript

//創(chuàng)建獲取ajax核心對象的函數(shù)
  function getXhr(){
   var xhr = null;
   if(window.XMLHttpRequest){
    xhr = new XMLHttpRequest();
   }else{
    xhr = new ActiveXObject("Microsoft.XMLHttp");
   }
   return xhr;
  }
  var xhr = getXhr();
  // 第一次執(zhí)行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;
     // 將字符串轉(zhuǎn)換為數(shù)組
     var provinces = data.split(",");
     // 遍歷數(shù)組
     for(var i=0;i<provinces.length;i++){
      // 創(chuàng)建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);
     }
    } 
   }
  };
  // 第二次執(zhí)行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
 // 接收客戶端發(fā)送的請求數(shù)據(jù) - 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是一種在無需重新加載整個網(wǎng)頁的情況下,能夠更新部分網(wǎng)頁的技術(shù),可以通過在后臺與服務(wù)器進行少量數(shù)據(jù)交換,使網(wǎng)頁實現(xiàn)異步更新。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Ajax實現(xiàn)城市二級聯(lián)動d”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI