数据库中有表:Major
结构如下:
MajorName Dept
应用与维护专业 计算机系
商务英语专业 外语系
软件工程专业 计算机系
........... ........
............ .........
代码如下:
<html>
<script>
function ChangeDept()
{
.....
}
</script>
<select name="Dept"size="1" onChange="ChangeDept()">
..................'option 从数据库创建
<option value="系别1">系别1</option>
<option value="系别2">系别2</option>
...................
</select>
<select name="Major"size="1">
..................'option 从数据库创建
<option value="专业1">专业1</option>
<option value="专业2">专业2</option>
..............
</select>
</html>
可以说是二级联动(数据库)问题,还是解释一下吧.
第一次进入时,第一个select显示计算机系 第二个select显示其相应的专业名,这时第二个下拉框
应该有"应用与维护专业"、 "软件工程专业".....
当从第一个select选一个专业时,比如选外语系,第二个select里就会有 "商务英语专业"、....
我是这样做的:
sql="select MajorName,Dept FROM st_Major"
set rst=cn.Execute(sql)
MajorArray=rs.GetRows ////返回一个二维数组,没问题的MajorArray(0,0),MajorArray(0,1)里面都有内容
的,数据库方面应该没有问题的,可以略过....
function ChangeDept()
{
document.all.Major.innerHTML=""
var DeptValue=document.getElementById("Dept").value //将第一个select选择的value传给变量
for....//这个循环将Dept字段和DeptValue作比较找出与系别相应的专业,这个用循环查所有记录就可以了,我
会。
{
var slt=document.getElementById("Major");
var objOption=document.createElement("OPTION");
objOption.value=DeptValue;
objOption.text=MajorArray(1,0);
}
}
在测试的时候出现问题,点了没反应,是不是 objOption.text=MajorArray(1,0) 这句有问题?
为了测试我改成这样:
function ChangeDept()
{
document.all.Major.innerHTML=""
var slt=document.getElementById("Major");
var objOption=document.createElement("OPTION");
objOption.value=DeptValue;
objOption.text="aaaaa";
}
这样就可以添加一个option,郁闷中,不知道问题出在哪里。。。。在这里请教大家了,或许我的方法不对
大家可以给个详细、好点的例子,问题解决再+100分!麻烦大家了!