[ÕªÒª]±¾ÎÄÊǶÔAjaxʵÏֵijÇÊжþ¼¶Áª¶¯ÈýµÄ½²½â£¬¶ÔѧϰJavaScript±à³Ì¼¼ÊõÓÐËù°ïÖú,Óë´ó¼Ò·ÖÏí¡£
°Ñ֮ǰ2ƪÕûºÏÔÚÒ»Æð
1¡¢html
<select> <option>ÇëÑ¡Ôñ</option> </select> <select> <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; } } ?>
¡¡