这个问题不是三两句就能说清楚的啊
给你AJAX省市联动的例子,应该和那很类似的//根据浏览器的不同创建AJAX对象
function createAjax()
{
var _xmlhttp;
try
{
_xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
try
{
_xmlhttp=new XMLHttpRequest();
}
catch(e)
{
_xmlhttp=false;
}
}
return _xmlhttp;
}//省市联动
function setcity()
{
var proname = $("stu_pro").value;
var url="adminajax.asp?menu=setcity&proid="+proname;
//$("myhint").style.display='';
var ajax=createAjax();
ajax.open("GET",url,true);
ajax.onreadystatechange=function()
{
if(ajax.readyState==4)
{
if(ajax.status==200)
{
//alert(ajax.responseText);
var labels=ajax.responseText.split("|");
$("stu_city").options.length=0;
for(var ii=0;ii<labels.length;ii++)
{
var nn = labels[ii].split("*");
$("stu_city").add(document.createElement("OPTION"));
$("stu_city").options[ii].text=nn[1];
$("stu_city").options[ii].value=nn[0];
}
$("stu_city").selectedIndex = 0;
//$("myhint").style.display='none';
}
else
{
alert(ajax.status);
}
}
}
ajax.send(null);
}
给你AJAX省市联动的例子,应该和那很类似的//根据浏览器的不同创建AJAX对象
function createAjax()
{
var _xmlhttp;
try
{
_xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
try
{
_xmlhttp=new XMLHttpRequest();
}
catch(e)
{
_xmlhttp=false;
}
}
return _xmlhttp;
}//省市联动
function setcity()
{
var proname = $("stu_pro").value;
var url="adminajax.asp?menu=setcity&proid="+proname;
//$("myhint").style.display='';
var ajax=createAjax();
ajax.open("GET",url,true);
ajax.onreadystatechange=function()
{
if(ajax.readyState==4)
{
if(ajax.status==200)
{
//alert(ajax.responseText);
var labels=ajax.responseText.split("|");
$("stu_city").options.length=0;
for(var ii=0;ii<labels.length;ii++)
{
var nn = labels[ii].split("*");
$("stu_city").add(document.createElement("OPTION"));
$("stu_city").options[ii].text=nn[1];
$("stu_city").options[ii].value=nn[0];
}
$("stu_city").selectedIndex = 0;
//$("myhint").style.display='none';
}
else
{
alert(ajax.status);
}
}
}
ajax.send(null);
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
function $(id)
{
return document.getElementById(id);
}
function $s(id)
{
return $(id).options[$(id).selectedIndex].value;
}
function addOption(ArrayName,id)
{
$(id).options.length = 0;//
for(var i=0;i<ArrayName.length;i++)
$(id).options[i] = new Option(ArrayName[i],ArrayName[i]);
}
function xmlHttp()
{
xmlhttp = false;
xmlhttpObj = ["MSXML2.XmlHttp.5.0","MSXML2.XmlHttp.4.0","MSXML2.XmlHttp.3.0","MSXML2.XmlHttp","Microsoft.XmlHttp"];
if(window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
for(i=0;i<xmlhttpObj.length;i++)
{
xmlhttp = new ActiveXObject(xmlhttpObj[i]);
if(xmlhttp)
{
break;
}
}
}
else
{
alert("暂时不能创建XMLHttpRequest对象");
}
return xmlhttp?xmlhttp:false;
}function getProvince(userid,act,id)
{
xmlhttp = xmlHttp();
var uid =$s(userid);
if(uid!="")
{
xmlhttp.onreadystatechange = function (){
if(xmlhttp.readyState ==4)
{
if(xmlhttp.status == 200)
{
var txt = eval(xmlhttp.responseText);
//alert(xmlhttp.responseText);
addOption(txt,id);
}
}
};
xmlhttp.open("post","a.php",true);
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;chartset=utf-8');
xmlhttp.send('uid='+uid+'&act='+act);
}
else
{
alert("请选择一个项目经理");
}}
</script>
</head><body>
<select name="userID" id="province_select" onchange="getProvince('province_select','province','tradeProvince')" >
<option value="0">---请选择项目经理--- </option>
<option value="1">张三 </option>
<option value="2">李四 </option>
</select> <!--
以下是项目经理的客户所在省份,当先张三时,OPTION就动态列出张三的相关客户(从库里取的),
同理,选李四,就列出李四的所有客户所在省份,然后,供客户端选择
-->
<select name="tradeProvince" id="tradeProvince" onchange="getProvince('tradeProvince','customer','tradeID')" >
</select>
<!--
//当选完省份,就会列出本省的客户单位
-->
<select name="tradeID" id="tradeID">
<option value="0">北京客户名称一 </option>
<option value="1">北京客户名称二 </option>
</select> </body>
</html>
a.php
<?
if($_POST['uid']!=""&&$_POST['act']=='province')
{
$uid = $_POST['uid'];
//根据uid取这些uid的省份,取到后存成以下格式
$str = "['北京','上海','武汉','开封']";
$str = iconv('gb2312','utf-8',$str);
echo $str;
}
elseif($_POST['uid']!=""&&$_POST['act']=='customer')
{
//根据省份得到客户
$province = iconv('gb2312','utf-8',$_POST['uid']);
$str = "['客户1','客户2','客户3','客户4']";
$str = iconv('gb2312','utf-8',$str);
echo $str;
}
?>
<?
if($_POST['uid']!=""&&$_POST['act']=='province')
{
$uid = $_POST['uid'];//这个就是选择的客户Id
//根据uid取这些uid的省份,取到后存成以下格式
$str = "['北京','上海','武汉','开封']";
$str = iconv('gb2312','utf-8',$str);
echo $str;
}
elseif($_POST['uid']!=""&&$_POST['act']=='customer')
{
//根据省份得到客户
$province = iconv('gb2312','utf-8',$_POST['uid']);//这里就是省份,根据这个你可以在数据库里找这个省的相关信息
$str = "['客户1','客户2','客户3','客户4']";
$str = iconv('gb2312','utf-8',$str);
echo $str;
}
?>
在JS里也已经定义了:
var xmid=$s(user);//这是个数字,这个传就没问题
var uid =$s(userid);//这是个汉字 传回来就不正确,提示'未定义'
//这是那个PHP页面显示
$province = iconv('utf-8','gb2312',$_POST['uid']);
echo $province;