php代码:
<?php
echo "<?xml version=\"1.0\" encoding=\"gb2312\"?>";
header("content-Type:text/xml;charset=gb2312");
header("Cache-Control:no-cache,must-revalidate");
if($_GET["action"]=="getProvice")
{
       echo "<proviceList>\n";
            echo "<provice>计算机工程系</provice>\n";
            echo "<provice>管理员工程系</provice>\n";
            echo "<provice>机电工程系</provice>\n";
            echo "<provice>食品工程系</provice>\n";
            echo "<provice>艺术品工程系</provice>\n";
            echo "<provice>外语工程系</provice>\n";
        echo "</proviceList>";
}
else if($_GET["action"]=="getCity")
{
$proviceId=(int)($_GET["proviceId"]);
switch($proviceId)
{
case 1:
  echo "<cityList>
<city>软件</city>
<city>网络</city>
<city>信息</city>
<city>计媒体</city>
</cityList>";
break;
case 2:
         echo "<cityList>
<city>软件</city>
<city>网络</city>
<city>信息</city>
<city>计媒体</city>
</cityList>";
break;
}
}
?>
js代码:
function createRequest()
{
var xmlHttp = false;
if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(error)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(error1)
{
xmlHttp = false;
}
}
}
return xmlHttp;
}function getProvice()
{
var request = createRequest();
request.open("POST","service.jsp");
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
request.onreadystatechange = function()
{
if(request.readyState==4)
{
if(request.status==200)
{
var xmlDoc = request.responseXML;
var proviceList = xmlDoc.getElementsByTagName("provice");
alert(request.responseText);
var displaySelect = document.getElementById("proviceList");
for(var i=0;i<proviceList.length;i++)
{
option = document.createElement("option");
option.value=i+1;
txtNode = document.createTextNode(proviceList[i].text);
option.appendChild(txtNode);
displaySelect.appendChild(option);
}
}
}
}
request.send("action=getProvice");
}function getCity(proviceId)
{
var request = createRequest();
request.open("POST","service.jsp");
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
request.onreadystatechange=function()
{
if(request.readyState==4)
{
if(request.status==200)
{
var xmlDoc = request.responseXML;
var cityList = xmlDoc.getElementsByTagName("city");
var displaySelect = document.getElementById("cityList");
displaySelect.length=0;
/*
for(i=displaySelect.length-1;i>=0;i--)
{
displaySelect.option[i] = null;
}*/
for(i=0;i<cityList.length;i++)
{
var option = document.createElement("option");
option.value = i+1;
var txtNode = document.createTextNode(cityList[i].text);
option.appendChild(txtNode);
displaySelect.appendChild(option);
}
}
}
}
request.send("action=getCity&proviceId="+proviceId);}html代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
     <meta http-equiv="content-Type" content="text/html;charset=gb2312" />
        <script type="text/javascript" src="ajax.js"></script>
        <title>二级联动菜单</title>
    </head>
    <body onload="getProvice()">
     <form name="form1">
         <select id="proviceList" onChange="getCity(this.options[this.selectedIndex].value)">
            <option value="0">请选择省份:</option>
            </select>
            <select id="cityList">
             <option value="0">请选择城市:</option>
            </select>
        </form>
    </body>
</html>如果我用第一个是用jsp的话就没问题,用了php就不会了,因为我也是刚学的,对php和ajax都不是很熟悉,请大家帮帮忙啦,也当是对技术的再次磨练磨练啦!!先谢谢大家啦!!