<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>emu</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
var ar=[["计算机系","数据结构"],["计算机系","算法分析"],["自动化系","电机原理"],["自动化系","模拟电路"]]
var departments=new Array()
function getDepartment()
{
for (var i=0;i<ar.length;i++)
{
var d = ar[i][0]
var s = ar[i][1]
if (departments[d]==null)
departments[d]=new Array()
departments[d][s]=s
}
for (i in departments)
{
var op = new Option()
op.innerText=i;
op.value=i;
department.insertBefore(op);
}
setTimeout("getSubject()",0)
}
function getSubject()
{
var d = department.value;
var subjects = departments[d];
while (subject.options.length>0)
subject.removeChild(subject.lastChild)
for (i in subjects)
{
var op = new Option()
op.innerText=i;
op.value=i;
subject.insertBefore(op);
}
}
//-->
</SCRIPT>
</head>
<body onload=getDepartment()>
<select id=department onChange="getSubject()"></select>
<select id=subject></select>
</body>
</html>基本原理大概就这样,其中的ar数组你要自己在服务器端生成页面的时候从数据库查出来系和专业后生成。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>emu</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
var ar=[["计算机系","数据结构"],["计算机系","算法分析"],["自动化系","电机原理"],["自动化系","模拟电路"]]
var departments=new Array()
function getDepartment()
{
for (var i=0;i<ar.length;i++)
{
var d = ar[i][0]
var s = ar[i][1]
if (departments[d]==null)
departments[d]=new Array()
departments[d][s]=s
}
for (i in departments)
{
var op = new Option()
op.innerText=i;
op.value=i;
department.insertBefore(op);
}
setTimeout("getSubject()",0)
}
function getSubject()
{
var d = department.value;
var subjects = departments[d];
while (subject.options.length>0)
subject.removeChild(subject.lastChild)
for (i in subjects)
{
var op = new Option()
op.innerText=i;
op.value=i;
subject.insertBefore(op);
}
}
//-->
</SCRIPT>
</head>
<body onload=getDepartment()>
<select id=department onChange="getSubject()"></select>
<select id=subject></select>
</body>
</html>基本原理大概就这样,其中的ar数组你要自己在服务器端生成页面的时候从数据库查出来系和专业后生成。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>emu</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
var ar=[["计算机系","数据结构"],["计算机系","算法分析"],["自动化系","电机原理"],["自动化系","模拟电路"]]
var departments=new Array()
function getDepartment()
{
for (var i=0;i<ar.length;i++)
{
var d = ar[i][0]
var s = ar[i][1]
if (departments[d]==null)
departments[d]=new Array()
departments[d][s]=s
}
for (i in departments)
{
var op = new Option()
op.innerText=i;
op.value=i;
form1.department.insertBefore(op);
}
setTimeout("getSubject()",0)
}
function getSubject()
{
var d = form1.department.value;
var subjects = departments[d];
with (form1.subject)
while (options.length>0)
removeChild(lastChild)
for (i in subjects)
{
var op = new Option()
op.innerText=i;
op.value=i;
form1.subject.insertBefore(op);
}
}
//-->
</SCRIPT>
</head>
<body onload=getDepartment()>
<form name=form1>
<select name=department onChange="getSubject()"></select>
<select name=subject></select>
</form>
</body>
</html>
<script>
var ar = <%=resultSet%>
</script>
其中resultSet是结果集。
注意字符串不会自动带上引号,我是直接把引号写进sql的:select '\"'+departInfo.departmentName+'\"','\"'+subjectName+'\"' from departmentInfo,subjectInfo where departmentInfo.departmentName=subjectInfo.departmentName随手写的,可能要具体调一下。