使用ajax实现三级联动菜单

index.html文件

 <head>
  <title> 三级联动 </title>
 </head>
 <script>
function getArea(val,table){

  var xhr;
 if(window.ActiveXObject){
 xhr = new ActiveXObject("Microsoft.XMLHTTP");
 }else if(window.XMLHttpRequest){
 xhr = new XMLHttpRequest();
 }
 
 var url = "ajax.php";
 xhr.open("POST",url,true);
 xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
 xhr.onreadystatechange = callback;
 
 xhr.send("val="+val+"&table="+table);
 
 function callback(){
    if(xhr.readyState==4){
  
       if(xhr.status==200){
    //alert(xhr.responseText);
    document.getElementById(table).innerHTML=xhr.responseText;
   
    }
    }
 
 
 }


}
 </script>

 <body οnlοad="getArea('','t_province')">
  <select id="t_province" οnchange="getArea(this.value,'t_city')">
 
  </select>
  <select id="t_city" οnchange="getArea(this.value,'t_district')">
 
  </select>
  <select id="t_district">
 
  </select>
 </body>
</html>
ajax.php文件

<?php
   mysql_connect('localhost','root','');
   mysql_select_db('china');
   mysql_query('set names utf8');
   //获得用户点击的值以及应该显示的表明
   $val=$_POST['val'];
   $table=$_POST['table'];
   if($table=='t_province'){
     //查询所有的省
  $sql="select ProName from $table order by ProSort";
  $result=mysql_query($sql);
  $rows=array();
     while($row=mysql_fetch_row($result))
    {
    echo "<option>$row[0]</option>";
  }
  
   }else if($table=='t_city'){
     $sql="select CityName from t_city where ProId=(select ProID from t_province where ProName = '$val')";
     $result=mysql_query($sql);
  $rows=array();
  while($row=mysql_fetch_row($result))
    {
    echo "<option>$row[0]</option>";
  }
   }else if($table=='t_district'){
     $sql="select DisName from t_district where CityID=(select CityID from t_city where CityName='$val')";
     $result=mysql_query($sql);
  $rows=array();
  while($row=mysql_fetch_row($result))
    {
    echo "<option>$row[0]</option>";
  }
   }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值