本文实现学院-专业二级级联,同理可用到省份-城市,洲-国家等级联,即通过不同的首选择,自动找到属于第一选择的二次可选项。
test.jsp
<%@ page language="java" contentType="text/html; charset=gb2312" import="java.util.*" pageEncoding="UTF-8"%><% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><base href="<%=basePath%>"><title>级联</title><script type="text/javascript" src="js/selectMajor.js"></script></head> <body> <div><form action="./reader/Personinfo_showgo.jsp" name="form" method="post">学院:<select name="readerSchool" id="readerSchool" onChange="changeMajor()"><option>--请选择学院--</option><option value="1">通信与信息工程学院</option><option value="2">光电工程学院</option><option value="3">经济管理学院</option><option value="4">计算机科学与技术学院</option><option value="5">外国语学院</option><option value="6">生物信息学院</option><option value="7">法学院</option><option value="8">自动化学院</option><option value="9">体育学院</option><option value="10">数理学院</option><option value="11">传媒艺术学院</option><option value="12">软件学院</option><option value="13">国际半导体学院</option><option value="14">国际学院</option><option value="15">研究生院</option></select>专业:<select name="readerMajor" id="readerMajor" onChange="myfun1()"><option>--请选择专业--</option></select> </form> </div></body> </html>
selectMajor.jsfunction changeMajor(){//JS中的数组可以采用标识符代替//根据用户选择的value值,与数组下标比较,从而找出学院对应的专业var school=document.form.readerSchool.value;var majorList=new Array();majorList['1']=['通信工程','电子信息工程','信息工程','广播电视工程','通信与信息类','通信与信息类实验班','通信学院卓越工程师班','通信学院IT精英班','通信学院国际实验班','电子信息工程(通信技术)','电子信息工程(应用电子技术)','电子信息工程(实验班)'];majorList['2']=['光信息科学与技术','电子科学与技术','电磁场与无线技术','电子工程类','电子工程实验班'];majorList['3']=['信息管理与信息系统','会计学','经济学','市场营销','工商管理','电子商务','工程管理','信息管理类','工商管理类','物流管理','国际化会计人才培养实验班','工商管理实验班','经济学实验班','市场营销专业实验班'];majorList['4']=['计算机科学与技术','地理信息系统','网络工程','信息安全','智能科学与技术','计算机智能科学类','计算机智能科学类实验班','计算机科学与技术(计算机应用)','计算机科学与技术(网络技术)','计算机科学与技术(信息安全)','计算机科学与技术(实验班)'];majorList['5']=['英语','英语类','英语(商贸)'];majorList['6']=['生物医药工程','生物技术','制药工程','生物信息学','生物技术与制药类','生物技术(生物信息学方向)','生物制药类实验班'];majorList['7']=['法学','知识产权学','法学类'];majorList['8']=['自动化','测控技术与仪器','电气工程与自动化','机械设计制造及其自动化','物联网工程','自动化与电气工程类','自动化与电气工程类实验班','自动化学院卓越工程师班','电气工程与自动化(电气技术)','电气工程与自动化(电机电器)','电气工程与自动化(实验班)'];majorList['9']=['社会体育'];majorList['10']=['应用物理学','信息与计算科学','数学与应用数学','信息显示与光电技术','数理科学与信息技术类','数理科学与信息技术基础班','信息与计算科学专业实验班'];majorList['11']=['广播电视编导','动画','环境设计','视觉传达','艺术设计(网络)','艺术设计类','编导改革实验班'];majorList['12']=['软件工程','软件工程(2年)','英语+软件','日语+软件','软件工程类'];majorList['13']=['电子科学与技术','微电子学','集成电路工程类','集成电路工程类实验班','微电子科学与工程实验班'];majorList['14']=['英语(中加)'];majorList['15']=['通信与信息工程','电子与信息工程','计算机科学与技术','计算机技术','软件工程','先进制造技术'];document.form.readerMajor.options.length=0;//根据学院下拉框的值,获取对应数组的索引标识var pIndex=document.form.readerSchool.value;var newOption;document.form.readerMajor.options.length=0;//清除选项//数组的读取和数字索引方式相同 for(var j in majorList[pIndex]){newOption=new Option(majorList[pIndex][j],majorList[pIndex][j]);document.form.readerMajor.options.add(newOption);//动态添加选项} }
----------------------------------------------------hi,我是华丽丽的分割线-------------------------------------------------------欢迎交流,尊重原创,转载请注明出处哦~