我是asp初学者,学的东西不多,但我想做个网站来挑战下自己的能力,尤其是JS,正在自学中。下面是我遇到的一个问题,当一个页面放一个二级联动时,运行很正常。可出现两个时他就出错:当选择第一个下拉框的某项时,第二个会弹出相应的选项,但第二次在选择该下拉框时,上次选择的内容仍在里面,于是乎点的次数越多,第二个弹出的选项就越来越多。请问这是怎么回事啊?我已找了好久仍未果,求朋友指点,小弟不甚感激!
这是其中一个联动的代码,第二个与之类似。
caritem=new Array();
caritem[0]=new Array('奔驰','');
caritem[1]=new Array('奔驰','奔驰CLK');
caritem[2]=new Array('奔驰','奔驰CLS');
caritem[3]=new Array('奔驰','奔驰ML级');
caritem[4]=new Array('奔驰','奔驰SL级');
caritem[5]=new Array('奔驰','奔驰(进口)'); caritem[6]=new Array('宝马','');
caritem[7]=new Array('宝马','宝马5系');
caritem[8]=new Array('宝马','宝马X3');
caritem[9]=new Array('宝马','宝马X6');
caritem[10]=new Array('宝马','宝马Z4');
caritem[11]=new Array('宝马','宝马(进口)'); caritem[12]=new Array('奥迪','');
caritem[13]=new Array('奥迪','奥迪A4L');
caritem[14]=new Array('奥迪','奥迪Q5');
caritem[15]=new Array('奥迪','奥迪R8');
caritem[16]=new Array('奥迪','奥迪TT'); caritem[17]=new Array('别克','');
caritem[18]=new Array('别克','别克GL8');
caritem[19]=new Array('别克','君威');
caritem[20]=new Array('别克','君越');
caritem[21]=new Array('别克','凯越');
caritem[22]=new Array('别克','别克(进口)'); caritem[23]=new Array('丰田','');
caritem[24]=new Array('丰田','雅力士');
caritem[25]=new Array('丰田','丰田RAV4');
caritem[26]=new Array('丰田','皇冠');
caritem[27]=new Array('丰田','卡罗拉');
caritem[28]=new Array('丰田','丰田(进口)'); function remove()
{
for(var n=0;n<5;n++)
{
for(var i=0;i<document.userInfo.carname.length;i++)
{
document.userInfo.carname.remove(i);
}
}
}
function brandchange(myform)
{
remove();
var optcar=document.createElement("option");
optcar.text="请选择";
optcar.value="";
myform.carname.add(optcar); var sign=myform.brand.value; for(var i=0;i<caritem.length;i++)
{
if(caritem[i][0]==sign && caritem[i][1]!="")
{
var optcar=document.createElement("option");
optcar.text=caritem[i][1];
optcar.value=caritem[i][1];
myform.carname.add(optcar);
}
}
}
这是其中一个联动的代码,第二个与之类似。
caritem=new Array();
caritem[0]=new Array('奔驰','');
caritem[1]=new Array('奔驰','奔驰CLK');
caritem[2]=new Array('奔驰','奔驰CLS');
caritem[3]=new Array('奔驰','奔驰ML级');
caritem[4]=new Array('奔驰','奔驰SL级');
caritem[5]=new Array('奔驰','奔驰(进口)'); caritem[6]=new Array('宝马','');
caritem[7]=new Array('宝马','宝马5系');
caritem[8]=new Array('宝马','宝马X3');
caritem[9]=new Array('宝马','宝马X6');
caritem[10]=new Array('宝马','宝马Z4');
caritem[11]=new Array('宝马','宝马(进口)'); caritem[12]=new Array('奥迪','');
caritem[13]=new Array('奥迪','奥迪A4L');
caritem[14]=new Array('奥迪','奥迪Q5');
caritem[15]=new Array('奥迪','奥迪R8');
caritem[16]=new Array('奥迪','奥迪TT'); caritem[17]=new Array('别克','');
caritem[18]=new Array('别克','别克GL8');
caritem[19]=new Array('别克','君威');
caritem[20]=new Array('别克','君越');
caritem[21]=new Array('别克','凯越');
caritem[22]=new Array('别克','别克(进口)'); caritem[23]=new Array('丰田','');
caritem[24]=new Array('丰田','雅力士');
caritem[25]=new Array('丰田','丰田RAV4');
caritem[26]=new Array('丰田','皇冠');
caritem[27]=new Array('丰田','卡罗拉');
caritem[28]=new Array('丰田','丰田(进口)'); function remove()
{
for(var n=0;n<5;n++)
{
for(var i=0;i<document.userInfo.carname.length;i++)
{
document.userInfo.carname.remove(i);
}
}
}
function brandchange(myform)
{
remove();
var optcar=document.createElement("option");
optcar.text="请选择";
optcar.value="";
myform.carname.add(optcar); var sign=myform.brand.value; for(var i=0;i<caritem.length;i++)
{
if(caritem[i][0]==sign && caritem[i][1]!="")
{
var optcar=document.createElement("option");
optcar.text=caritem[i][1];
optcar.value=caritem[i][1];
myform.carname.add(optcar);
}
}
}
解决方案 »
- Ext 中的 Ext.Ajax.request 大家解释一下把 谢谢了
- 本科毕业设计(java web开发)
- 刚开始学JSP,不知道该怎么学习,应该从哪里下手?
- 在JSP页面中如何做每点击一次加一,急.在线等
- 为什么不能进入show.jsp???
- 又是java.lang.NullPointerException的错误,请大家帮忙了!
- 怎样将在包中的applet放到html中
- poi从excel取出数据,插入mysql,插入中文后,数据库显示的都是问号,其他数字类型正确,请解决!
- (急)一个页面中include多个文件不能显示的问题?
- 求助如何用Ant和HibernateTools自动生成pojo和dbschema!!!
- 求高手帮忙弄一个初学者用jsp做的bbs。。。
- 关于form里面包含div传值问题
document.userInfo.carname.remove(i);
与
myform.carname.add(optcar);
我看不清你是不是给下拉列表的名字是name="userInfo.carname";如果是添加的时候属性名字也应该是这个,不过我在Html不会这样写,会找不到这个标签,要以[]的方式写。
你在自己瞅瞅哦
<select id="one" name="one" onChange=" jumplist(this.value)">
<option value="">请选择</option>
<option value="1" >1</option>
<option value="2" >2</option>
<option value="3" >3</option>
<option value="4" >4</option>
</select>
<select id="two" name="two" onChange="jumptdlist(this.value)">
<option value="" >请选择</option>
</select>
<select id="thd" name="thd" >
<option value="" >请选择</option>
</select></form>
<script language="javascript">
<!--
var ls=new Array();
ls[0]=new Array("1","11","11");
ls[1]=new Array("1","12","12");
ls[2]=new Array("1","13","13");
ls[3]=new Array("2","21","21");
ls[4]=new Array("2","22","22");
ls[5]=new Array("3","31","31");
ls[6]=new Array("3","32","32");
ls[7]=new Array("3","33","33");
ls[8]=new Array("4","41","41");
ls[9]=new Array("4","42","42");
ls[10]=new Array("4","43","43");
var thd= new Array();
thd[0]= new Array("11","111","11");
thd[1]= new Array("12","112","11");
thd[2]= new Array("13","113","11");
thd[3]= new Array("21","221","22");
thd[4]= new Array("22","222","22");
thd[5]= new Array("22","223","22");
thd[6]= new Array("31","331","33");
thd[7]= new Array("32","332","33");
thd[8]= new Array("33","333","33");
thd[9]= new Array("41","441","44");
thd[10]= new Array("42","442","44");
thd[11]= new Array("43","443","44");
thd[12]= new Array("41","444","44"); function jumplist(listid){
document.addform.two.length=0;
for(var i=0;i<ls.length;i++){
if(ls[i][0]==listid){
document.addform.two.options[document.addform.two.length]= new Option(ls[i][1],ls[i][2]);
jumptdlist(ls[i][2]);
}
if(document.addform.one.value==""){
document.addform.two.options[0]= new Option("请选择","");
document.addform.thd.options[0]= new Option("请选择","");
}
}
}
function jumptdlist(thirdid){
document.addform.thd.length=0;
for(var i=0;i<thd.length;i++){
if(thd[i][0]==thirdid){
document.addform.thd.options[document.addform.thd.length]=new Option(thd[i][1],thd[i][2]);
}
}
if(document.addform.two.value==""){
document.addform.thd.options[0]= new Option("请选择","");
}
}
-->
</script>