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> 展开
代码如下:
谢谢了,急了一天了
<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> 展开
1个回答
展开全部
哈哈,坐了沙发!下面言归正传:
您的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完全可以分别在一个方法中实现,你都写了两个方法(三个方法可以实现的,何必要写六个呢?),麻烦、重用性差、而且不容易维护。
您的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完全可以分别在一个方法中实现,你都写了两个方法(三个方法可以实现的,何必要写六个呢?),麻烦、重用性差、而且不容易维护。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询