ajax三级联动

ajax三级联动,access数据库,为什么第二级到第三级中,第二级的值取不到,一直是空值,大概代码如下:谢谢了,急了一天了<scripttype="text/javas... ajax三级联动,access数据库,为什么第二级到第三级中,第二级的值取不到,一直是空值,大概

代码如下:
谢谢了,急了一天了

<script type="text/javascript">
var request;
function test(){
if(window.XMLHttpRequest){
request = new XMLHttpRequest();
}else if(window.ActiveXObject){
request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.onreadystatechange = callback;
var stuacad = document.getElementById("s1").value;
var url = "major.jsp?stuacad=" + stuacad;
encodeURI(url);
//alert(url);
request.open("get",url,true);
request.send(null);
}

function callback(){
if(request.readyState==4){
if(200 == request.status){
var dom = request.responseXML;
var provinceEle = dom.getElementsByTagName("major");
innerContent(provinceEle);
}
}
}
function clearCity(){
var s2 = document.getElementById("s2")
s2.length = 0;
}
function clearDistrict(){
var s3 = document.getElementById("s3")
s3.length = 0;
}

function innerContent(provinceEle){
clearCity();
clearDistrict();
for(i = 0; i < provinceEle.length;i++){
var m_nameEle = provinceEle[i].getElementsByTagName("m_id");
var m_id = m_nameEle[0].firstChild.data;
var s2 = document.getElementById("s2");
s2[i] = new Option(m_id);
test1();
}

}

function test1(){
if(window.XMLHttpRequest){
request = new XMLHttpRequest();
}else if(window.ActiveXObject){
request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.onreadystatechange = callback1;
var major = document.getElementById("s2").value;
var url1 = "majorcount.jsp?major=" + major;
encodeURI(url1);
//alert(url1);
request.open("get",url1,true);
request.send(null);
}

function callback1(){
if(request.readyState==4){
if(200 == request.status){
var dom1 = request.responseXML;
var citeEle = dom1.getElementsByTagName("count");
innerContent1(citeEle);
}
}
}

function innerContent1(citeEle){

clearDistrict();
for(i = 0; i < citeEle.length;i++){
var d_idEle = citeEle[i].getElementsByTagName("c_id");
var c_id = d_idEle[0].firstChild.data;
var s3 = document.getElementById("s3");

s3[i] = new Option(c_id);
} //alert(s3);
}
</script>
展开
 我来答
ja...a@163.com
2009-05-11 · 超过22用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:0
展开全部
哈哈,坐了沙发!下面言归正传:
您的s2[i] = new Option(m_id); 出了问题,
应该是:
s2[i]=new Option(text,value),应该有两个参数,而你的只有第一个“text”参数,没有第二个“value”参数。
在new Option(text,value)中,第一个参数是下拉菜单显示的我们能看到的文字(text),第二个参数是我们看不到的值(value)
另外,你的s3[i]存在同样的问题。而且test、callback和innerContent完全可以分别在一个方法中实现,你都写了两个方法(三个方法可以实现的,何必要写六个呢?),麻烦、重用性差、而且不容易维护。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式