Ajax實現簡單下拉選項效果【推薦】_AJAX相關

來源:互聯網
上載者:User

基本都是固定步驟!主要在JAVASCRIPT和PHP中的操作

1、HTML代碼裡就只有兩個SELECT標籤如下:

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

2、Javascript中進行建立選項和執行AJAX非同步請求步驟如下

<script>   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 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(province.value != "請選擇"){       xhr.open("post","finaly.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);           }         }       }     }    }    function getXhr(){     var xhr = null;     if(window.XMLHttpRequest){       xhr = new XMLHttpRequest();     }else{       xhr = new ActiveXObject("Microsoft.XMLHttp");     }     return xhr;   }  </script>

3、PHP代碼如下:檔案名稱為:finaly.php與JS中:xhr.open(method,url)方法的url對接!

<?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非同步互動:參考JS代碼。可以說的固定步驟。

以上這篇Ajax實現簡單下拉選項效果【推薦】就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援雲棲社區。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.