php中用ajax實現二級級聯(甚至多級級聯)javascript
html中:php
省份: <select name="province_id" onChange="getfid01('showfid01')" style="border:1px solid #AEBBC4;width:150px;height:260px;" multiple> <option value="0">--請選擇省份--</option> <?php include('../conn.php'); $sql="select * from `table` order by `pid` desc"; $query=mysql_query($sql,$conn); while($row=mysql_fetch_array($query)){ ?> <option value="<?php echo $row['id']?>"><?php echo $row['title']?></option> <?php } ?> </select> 城市: <select name="city_id" id="showfid01" style="border:1px solid #AEBBC4;width:150px;height:260px;" multiple></select>
js代碼:html
<script type="text/javascript"> <!-- var reobj = null; var http_request = false; if(window.XMLHttpRequest){ http_request=new XMLHttpRequest(); if(http_request.overrideMimeType){ http_request.overrideMimeType("text/xml"); } } else if(window.ActiveXObject){ try{ http_request=new ActiveXObject("Msxml2.XMLHttp"); }catch(e){ try{ http_request=new ActiveXobject("Microsoft.XMLHttp"); }catch(e){} } } function send_request(url){ if(!http_request){ window.alert("建立XMLHttp對象失敗!"); return false; } http_request.open("GET",url,true); http_request.onreadystatechange=proce***equest; http_request.send(null); } function proce***equest(){ if(http_request.readyState==4){ if(http_request.status==200){ document.getElementById(reobj).innerHTML=http_request.responseText; } else{ alert("您所請求的頁面不正常!"); } } } function getfid01(obj){ var obj=obj; var province_id=document.updoc2013.province_id.value; document.getElementById(obj).innerHTML="<option>loading...</option>"; send_request("../ajax/get_city.php?province_id="+province_id); reobj=obj; } //--> </script>
後臺php代碼(注意編碼必須是UTF-8,不然亂碼):java
<?php $province_id=$_GET['province_id']; if(!empty($province_id) && $province_id !='0'){ include('../conn.php'); $sql="select * from `city_table` where `fid`='$province_id' order by `pid` desc"; $query=mysql_query($sql,$conn); while($row=mysql_fetch_array($query)){ ?> <option value="<?php echo $row['id']?>"><?php echo $row['title']?></option> <?php } } ?>