首页 新闻 搜索 专区 学院

关于js类似二级下拉框的问题

0
悬赏园豆:10 [已解决问题] 解决于 2016-05-23 11:21
  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2 <html xmlns="http://www.w3.org/1999/xhtml"> 
  3 <head> 
  4 <meta http-equiv="Content-Type" content="text/html;charset=gb2312" /> 
  5 <title>双选择关联菜单</title> 
  6 </head> 
  7 <body> 
  8 <form name="doublecombo"> 
  9 <p> 
 10 <select name="example" size="1" onChange="redirect(this.options.selectedIndex)"> 
 11 <option>请选择学院</option>  
 12 <option>机械工程学院</option> 
 13 <option>材料科学与工程学院</option> 
 14 <option>电气工程学院</option>
 15 <option>信息科学与工程学院</option>
 16 <option>经济管理学院</option>
 17 <option>建筑工程与力学学院</option>
 18 <option>理学院</option>
 19 <option>文法学院</option>
 20 <option>外国语学院</option>
 21 <option>环境化学与工程学院</option>
 22 <option>车辆与能源学院</option>
 23 <option>体育学院</option>  
 24 </select> 
 25 <select name="stage2" size="1"> 
 26 <option value="/texiao/shubiao">请选择专业</option> 
 27 </select> 
 28 </p> 
 29 <script> 
 30 <!-- 
 31 var groups=document.doublecombo.example.options.length 
 32 var group=new Array(groups) 
 33 for (I=0; I<groups; I++) 
 34 {
 35     group[I]=new Array() 
 36     group[I][0]=new Option("请选择专业") 
 37 }
 38 group[1][1]=new Option("机械设计制造及其自动化") 
 39 group[1][2]=new Option("材料成型及控制工程") 
 40 group[2][1]=new Option("金属材料工程") 
 41 group[2][2]=new Option("无机非金属材料工程") 
 42 group[2][3]=new Option("高分子材料与工程") 
 43 group[2][4]=new Option("材料物理") 
 44 group[3][1]=new Option("测控技术与仪器") 
 45 group[3][2]=new Option("电气工程及其自动化") 
 46 group[3][3]=new Option("自动化") 
 47 group[3][4]=new Option("生物医学工程")
 48 group[4][1]=new Option("计算机科学与技术")
 49 group[4][2]=new Option("信息安全")
 50 group[4][3]=new Option("生物医学工程")
 51 group[4][4]=new Option("教育技术学")
 52 group[4][5]=new Option("电子信息工程")
 53 group[4][6]=new Option("通信工程")
 54 group[4][7]=new Option("电子科学与技术")
 55 group[4][8]=new Option("光电信息科学与工程")
 56 group[4][9]=new Option("地理信息科学")
 57 group[4][10]=new Option("软件工程")
 58 group[5][1]=new Option("国际经济与贸易")
 59 group[5][2]=new Option("工业工程")
 60 group[5][3]=new Option("工商管理")
 61 group[5][4]=new Option("会计学")
 62 group[5][5]=new Option("旅游管理")
 63 group[5][6]=new Option("电子商务")
 64 group[5][7]=new Option("经济学")
 65 group[6][1]=new Option("建筑学")
 66 group[6][2]=new Option("土木工程")
 67 group[6][3]=new Option("建筑环境与能源应用工程")
 68 group[6][4]=new Option("工程力学")
 69 group[7][1]=new Option("信息与计算科学")
 70 group[7][2]=new Option("应用物理学")
 71 group[7][3]=new Option("电子信息科学与技术")
 72 group[7][4]=new Option("统计学")
 73 group[8][1]=new Option("政治学与行政学")
 74 group[8][2]=new Option("国际政治")
 75 group[8][3]=new Option("法学")
 76 group[8][4]=new Option("汉语言文学")
 77 group[8][5]=new Option("广播电视学")
 78 group[8][6]=new Option("公共事业管理")
 79 group[8][7]=new Option("行政管理")
 80 group[9][1]=new Option("英语")
 81 group[9][2]=new Option("俄语")
 82 group[9][3]=new Option("日语")
 83 group[9][4]=new Option("德语")
 84 group[9][5]=new Option("法语")
 85 group[10][1]=new Option("过程装备与控制工程")
 86 group[10][2]=new Option("环境工程")
 87 group[10][3]=new Option("化学工程与工艺")
 88 group[10][4]=new Option("生物工程")
 89 group[10][5]=new Option("应用化学")
 90 group[11][1]=new Option("工业设计")
 91 group[11][2]=new Option("产品设计")
 92 group[11][3]=new Option("环境设计")
 93 group[11][4]=new Option("视觉传达设计")
 94 group[11][5]=new Option("音乐表演")
 95 group[11][6]=new Option("雕塑")
 96 group[12][1]=new Option("车辆工程")
 97 group[12][2]=new Option("交通运输")
 98 group[12][3]=new Option("能源与动力工程")
 99 group[12][4]=new Option("石油工程")
100 group[13][1]=new Option("社会体育指导与管理")
101 var temp=document.doublecombo.stage2 
102 function redirect(x){ 
103 for (m=temp.options.length-1;m>0;m--) 
104 temp.options[m]=null 
105 for (I=0;I<group[x].length;I++){ 
106 temp.options[I]=new Option(group[x][I].text,group[x][I].value) 
107 } 
108 temp.options[0].selected=true 
109 } 
110 //--> 
111 </script> 
112 </form> 
113 </body> 
114 </html></td>
115  </tr>
116 </table>

不知道为什么,我的数组把group[10]及以后的全删了,前九个就好使,但是加上就全显示不出来了,新手小白求教

letcafe的主页 letcafe | 菜鸟二级 | 园豆:434
提问于:2016-05-23 10:51
< >
分享
最佳答案
0

因为你多了group[13][1]=new Option("社会体育指导与管理")

你的var groups=document.doublecombo.example.options.length

groups = 13

所以group[13] = undefined

所以group[13]不存在1这个属性

收获园豆:6
刘宏玺 | 专家六级 |园豆:14004 | 2016-05-23 11:14

 嗯,解决了,多谢啦

letcafe | 园豆:434 (菜鸟二级) | 2016-05-23 11:21
其他回答(1)
0

想帮你测试一修改下,复制你代码还带行号。没时间取一个一个去掉了。。。。。。。。。

收获园豆:4
无影飞絮剑 | 园豆:1155 (小虾三级) | 2016-05-23 11:04
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" /> 
<title>双选择关联菜单</title> 
</head> 
<body> 
<form name="doublecombo"> 
<p> 
<select name="example" size="1" onChange="redirect(this.options.selectedIndex)"> 
<option>请选择学院</option>  
<option>机械工程学院</option> 
<option>材料科学与工程学院</option> 
<option>电气工程学院</option>
<option>信息科学与工程学院</option>
<option>经济管理学院</option>
<option>建筑工程与力学学院</option>
<option>理学院</option>
<option>文法学院</option>
<option>外国语学院</option>
<option>环境化学与工程学院</option>
<option>车辆与能源学院</option>
<option>体育学院</option>  
</select> 
<select name="stage2" size="1"> 
<option value="/texiao/shubiao">请选择专业</option> 
</select> 
</p> 
<script> 
<!-- 
var groups=document.doublecombo.example.options.length 
var group=new Array(groups) 
for (I=0; I<groups; I++) 
{
    group[I]=new Array() 
    group[I][0]=new Option("请选择专业") 
}
group[1][1]=new Option("机械设计制造及其自动化") 
group[1][2]=new Option("材料成型及控制工程") 
group[2][1]=new Option("金属材料工程") 
group[2][2]=new Option("无机非金属材料工程") 
group[2][3]=new Option("高分子材料与工程") 
group[2][4]=new Option("材料物理") 
group[3][1]=new Option("测控技术与仪器") 
group[3][2]=new Option("电气工程及其自动化") 
group[3][3]=new Option("自动化") 
group[3][4]=new Option("生物医学工程")
group[4][1]=new Option("计算机科学与技术")
group[4][2]=new Option("信息安全")
group[4][3]=new Option("生物医学工程")
group[4][4]=new Option("教育技术学")
group[4][5]=new Option("电子信息工程")
group[4][6]=new Option("通信工程")
group[4][7]=new Option("电子科学与技术")
group[4][8]=new Option("光电信息科学与工程")
group[4][9]=new Option("地理信息科学")
group[4][10]=new Option("软件工程")
group[5][1]=new Option("国际经济与贸易")
group[5][2]=new Option("工业工程")
group[5][3]=new Option("工商管理")
group[5][4]=new Option("会计学")
group[5][5]=new Option("旅游管理")
group[5][6]=new Option("电子商务")
group[5][7]=new Option("经济学")
group[6][1]=new Option("建筑学")
group[6][2]=new Option("土木工程")
group[6][3]=new Option("建筑环境与能源应用工程")
group[6][4]=new Option("工程力学")
group[7][1]=new Option("信息与计算科学")
group[7][2]=new Option("应用物理学")
group[7][3]=new Option("电子信息科学与技术")
group[7][4]=new Option("统计学")
group[8][1]=new Option("政治学与行政学")
group[8][2]=new Option("国际政治")
group[8][3]=new Option("法学")
group[8][4]=new Option("汉语言文学")
group[8][5]=new Option("广播电视学")
group[8][6]=new Option("公共事业管理")
group[8][7]=new Option("行政管理")
group[9][1]=new Option("英语")
group[9][2]=new Option("俄语")
group[9][3]=new Option("日语")
group[9][4]=new Option("德语")
group[9][5]=new Option("法语")
/*
group[10][1]=new Option("过程装备与控制工程")
group[10][2]=new Option("环境工程")
group[10][3]=new Option("化学工程与工艺")
group[10][4]=new Option("生物工程")
group[10][5]=new Option("应用化学")
group[11][1]=new Option("工业设计")
group[11][2]=new Option("产品设计")
group[11][3]=new Option("环境设计")
group[11][4]=new Option("视觉传达设计")
group[11][5]=new Option("音乐表演")
group[11][6]=new Option("雕塑")
group[12][1]=new Option("车辆工程")
group[12][2]=new Option("交通运输")
group[12][3]=new Option("能源与动力工程")
group[12][4]=new Option("石油工程")
group[13][1]=new Option("社会体育指导与管理")
*/
var temp=document.doublecombo.stage2 
function redirect(x){ 
for (m=temp.options.length-1;m>0;m--) 
temp.options[m]=null 
for (I=0;I<group[x].length;I++){ 
temp.options[I]=new Option(group[x][I].text,group[x][I].value) 
} 
temp.options[0].selected=true 
} 
//--> 
</script> 
</form> 
</body> 
</html></td>
 </tr>
</table>

多谢啦,我这个不加行号,加注释去掉就不好使了

支持(0) 反对(0) letcafe | 园豆:434 (菜鸟二级) | 2016-05-23 11:07

@SpringLife: group[13][1]=new Option("社会体育指导与管理")  多了这个,  你一级菜单公12个,但是你绑定13个。

支持(0) 反对(0) 无影飞絮剑 | 园豆:1155 (小虾三级) | 2016-05-23 11:17

@无影飞絮剑: 恩恩,发现了,我少输了一个学院,导致不匹配,多谢啦

支持(0) 反对(0) letcafe | 园豆:434 (菜鸟二级) | 2016-05-23 11:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册