实现三级联动菜单(ajax)

如何实现三级联动菜单?

首先先建一个全国各省市县数据库(http://download.csdn.net/detail/feilong_12/5141762)这里有现成的数据库直接考过来就可以用而且比较全面的哦。

下面是:三级联动的html文件(里面写ajax)

<html>
<head>
<script>
function getArea(val,table){

var xhr;
  if(window.ActiveXObject){
     xhr=new ActiveXOject("Microsoft.XMLHTTP");
  }else if(window.XMLHttpRequest){
    xhr=new XMLHttpRequest();
  }  
 
var url="ajax.php";
xhr.open("post",url,true);
xhr.onreadystatechange=callback;
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
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>
</head>
<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','123');
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)){
$rows[]=$row;

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)){
$rows[]=$row;
echo "<option>$row[0]</option>";
}var_dump($rows);
    }
    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)){
$rows[]=$row;
echo "<option>$row[0]</option>";
}
    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值