百分求解,select关联二级菜单问题,请大家帮问调试一下~

music_boy_2000 2005-06-06 09:13:05
看了很多教程,这个跟教程一样,但是就是不行,不知道那里错啦

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="conn.asp"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>考证报名</title>
<link href="styleccs.css" rel="stylesheet" type="text/css">
</head>

<body leftmargin="0" topmargin="0">
<script language=JavaScript>
<%
dim i,j
set rs_s=server.createobject("adodb.recordset")
rs_s.open "select * from school order by sid",conn,1,1
%>
var selects=[];
selects['xxx']=new Array(new Option('请选择班级……','xxx'));
<%
for i=1 to rs_s.recordcount
%>
selects['<%=rs_s("sid")%>']=new Array(
<%
set rs_s1=server.createobject("adodb.recordset")
rs_s1.open "select * from class where sid="&rs_s("sid")&" order by cid",conn,1,1
if rs_s1.recordcount>0 then
for j=1 to rs_s1.recordcount
if j=rs_s1.recordcount then
%>
new Option('<%=trim(rs_s1("class"))%>','<%=trim(rs_s1("cid"))%>'));
<% else
%>
new Option('<%=trim(rs_s1("class"))%>','<%=trim(rs_s1("cid"))%>'),
<%
end if
rs_s1.movenext
next
else
%>
new Option('','0'));
<%
end if
rs_s1.close
set rs_s1=nothing
rs_s.movenext
next
rs_s.close
set rs_s=nothing
%>
function chsel(){
with (document.reg){
if(school.value) {
class.options.length=0;
for(var i=0;i<selects[school.value].length;i++){
class.add(selects[school.value][i]);
}
}
}
}
</script>





<table width="600" height="48" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td> </td>
</tr>
</table>
<table width="600" border="0" align="center" cellpadding="4" cellspacing="2" style="border-collapse: collapse">
<tr>
<td align="center">
<table width="96%" height="83" border="1" align="center" cellpadding="2" cellspacing="2" bordercolor="#993300" style="border-collapse: collapse">
<%
set rs = server.createobject("adodb.recordset")
rs.open "select * from ReadMe",conn,1,1
%>

<tr>
<td width="108" align="center" valign="middle"><font color="#FF0000">报考说明:</font></td>
<td width="433" valign="top" class="font9"> <%=trim(rs("ReadMe"))%></td>
</tr>
<%
rs.close
set rs=nothing
%>
</table>
</td>
</tr>
<tr>
<td align="center" valign="top">
<form name="reg" method="post" action="checkreg.asp">
<table width="96%" border="1" align="center" cellpadding="4" cellspacing="3" bordercolor="#993300" class="font12" style="border-collapse: collapse">
<tr>
<td width="31%" align="center">姓  名:</td>
<td width="69%">  <input name="UserName" type="text" id="UserName" size="20" maxlength="20"></td>
</tr>
<tr>
<td align="center">性  别:</td>
<td>  <input type="radio" name="radiobutton" value="1">

<input type="radio" name="radiobutton" value="0">
女</td>
</tr>
<tr>
<td align="center">身 份 证:</td>
<td>  <input name="UserNO" type="text" id="UserNO" size="20" maxlength="18"></td>
</tr>
<tr>
<td align="center">所属院系:</td>
<td> 
<select size="1" name="school" onChange="chsel(this)">
<option value="xxx" selected>请选择学院……</option>
<%
set rs_s=server.createobject("adodb.recordset")
rs_s.open "select * from school order by sid",conn,1,1
while not rs_s.eof
%>
<option value="<%=rs_s("sid")%>"><%=trim(rs_s("school"))%></option>
<%
rs_s.movenext
wend
rs_s.close
set rs_s=nothing
%>
</select>
<select size="1" name="class">
<option value="xxx" selected>请选择班级……</option>
</select>

</td>
</tr>
<tr>
<td align="center">联系电话:</td>
<td>  <input name="tel" type="text" id="tel" size="20" maxlength="20"></td>
</tr>
<tr>
<td align="center">报考项目1:</td>
<td> 
<select name="selectlist1" style="width:110px" >
<option value="0" selected>请选择....</option>
<%
set rs0 = server.createobject("adodb.recordset")
rs0.open "select * from list where EndTime > date()",conn,1,1
do while not rs0.eof
%>
<option value="<%=rs0("List")%>"><%=rs0("List")%></option>
<%rs0.movenext
loop
rs0.close
set rs0=nothing%>
</select>

</td>
</tr>
<tr>
<td align="center">报考项目2:</td>
<td> 
<select name="selectlist2" style="width:110px" >
<option value="0" selected>请选择....</option>
<%
set rs0 = server.createobject("adodb.recordset")
rs0.open "select * from list where EndTime > date()",conn,1,1
do while not rs0.eof
%>
<option value="<%=rs0("List")%>"><%=rs0("List")%></option>
<%rs0.movenext
loop
rs0.close
set rs0=nothing%>
</select></td>
</tr>
<tr>
<td align="center"><span id=ance>是否补考:</span></td>
<td>  <input type="checkbox" name="bukaoshow" value="1" onclick=showbukao()></td>
</tr>
<tr id=bukao style="DISPLAY: none">
<td align="center">原准考证号:</td>
<td>  <input name="OldNO" type="text" id="OldNO" size="20" maxlength="20"></td>
</tr>
<tr>
<td align="center">备  注:</td>
<td>  <textarea name="beizhu" cols="37" rows="3" id="beizhu"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center"> <input type="submit" name="Submit" value=" 提 交 ">
   <input type="reset" name="Submit2" value=" 重 置 "></td>
</tr>

</table>
</form>
</td>
</tr>
</table>
</body>
</html>
<SCRIPT LANGUAGE="JavaScript">
<!--
first("selectx","selectc","reg",0,0);
function showbukao(){
if (document.reg.bukaoshow.checked == true) {
document.getElementById("bukao").style.display = "";
document.getElementById("ance").innerText="关闭补考:";
}else{
document.getElementById("bukao").style.display = "none";
document.getElementById("ance").innerText="显示补考:";
}
}


//-->
</SCRIPT>
...全文
103 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
music_boy_2000 2005-06-06
  • 打赏
  • 举报
回复
大哥,能不能帮我调试一下呢,例子都有,就是不知道那里错啦
asp1113 2005-06-06
  • 打赏
  • 举报
回复
100MB asp和 asp.net空间 50/1年
我看到了一个网站 100MB asp和 asp.net空间 现在促销,
同学们可以做一个简单的个人网站用来找工作 ,
支持 asp.net 一年才50元!不要错过哦!!!
速度非常快,一般公司企业 足够用了!
http://www.hi876.com
希望能对大家有帮助
henzaihuni 2005-06-06
  • 打赏
  • 举报
回复
发一个3级联动的让你参考一下,自己去改改
<%
set cityrs=server.createobject("ADODB.Recordset")//读取省份
citysql="select * from Tstate_l"
cityrs.open citysql,conn,1,3

set cours=server.CreateObject("ADODB.Recordset")//读取城市
cousql="select * from Tcity_l"
cours.open cousql,conn,1,3
%>
<script language="javascript">

//市级目录
var citycount;
citycount=0;
city=new Array();
<%
countys=0
for i=0 to cours.recordcount
%>
city[<%=countys%>]=new
Array("<%=trim(cours("city"))%>","<%=trim(cours("cnxid"))%>","<%=trim(cours("cnid"))%>","<%=trim(cours("cnxxid"))%>")
<%
countys=countys+1
cours.movenext
if cours.eof then exit for
next
cours.close
%>
citycount=<%=countys%>
//以祖父级的ID和父亲ID来确定子孙
//prosel:祖父ID(省级ID) citysel:父亲ID(市级ID)
function changecity(prosel,citysel){
document.frmtrans_infor.cnxxid.length=1;

var prosel=prosel; //省级
var citysel=citysel //市级
//由祖父级ID来确定父亲级目录默认的ID;
for (var j=0;j<citycount;j++)
{
if (city[j][2]==prosel && city[j][1]==citysel){
var countys;
countys=j;
break;
}
}
//alert(countys)
for (var j=0;j<citycount;j++)
{
if (city[j][2]==prosel && city[j][1]==citysel){
document.frmtrans_infor.cnxxid.options[document.frmtrans_infor.cnxxid.length]=new Option(city[j][0],city[j][3])

}
}
}

//省级目录
var statecount;
statecount=0
state=new Array();
<%
citys=0
for s=0 to cityrs.recordcount
%>
state[<%=citys%>]=new
Array("<%=trim(cityrs("cnxid"))%>","<%=trim(cityrs("state"))%>","<%=trim(cityrs("cnid"))%>","<%=trim(cityrs("state"))%>")
<%
citys=citys+1
cityrs.movenext
if cityrs.eof then exit for
next
cityrs.close
%>
statecount=<%=citys%>

//触发事件
function changestate(prosel)
{
document.frmtrans_infor.cnxid.length=1;
document.frmtrans_infor.cnxxid.length=1;
var prosel=prosel; //得到祖父级ID(省级)
//由祖父级ID来确定父亲级目录默认的ID;
for (var l=0;l<statecount;l++)
{
if (state[l][2]==prosel){
var cityse;
cityse=l;
break;
}
}

//由祖父级ID来确定父亲级的所有<option></option>选项的值
for (var l=0;l<statecount;l++)
{
if (state[l][2]==prosel){
document.frmtrans_infor.cnxid.options[document.frmtrans_infor.cnxid.length]=new
Option(state[l][3],state[l][0])
}
}
changecity(prosel,state[cityse][0])
}
</script>
<%
set rs=server.CreateObject("ADODB.Recordset")
sql="select * from Tcountry_l"
rs.open sql,conn,3,3
%>
<select name="cnid" onChange="changestate(document.frmtrans_infor.cnid.options[document.frmtrans_infor.cnid.selectedIndex].value)">
<%
for i=0 to rs.recordcount
%>
<option value="<%=trim(counrs("cnid"))%>"><%=trim(counrs("country"))%></option>
<%
rs.movenext
if rs.eof then exit for
next
%>
</select>
<%
set rs1=server.CreateObject("ADODB.Recordset")
sql1="select * from Tstate_l where cnid="&rs("cnid")
rs1.open sql1,conn,3,3
%>
<select name="cnxid" onChange="changecity(document.frmtrans_infor.cnid.options[document.frmtrans_infor.cnid.selectedIndex].value,document.frmtrans_infor.cnxid.options[document.frmtrans_infor.cnxid.selectedIndex].value)">
<option value="">所有省份</option>
<%
for m=0 to rs1.recordcount
%>
<option value="<%=trim(rs1("cnxid"))%>" ><%=trim(rs1("state"))%></option>
<%
rs1.movenext
if rs1.eof then exit for
next
rs1.close
%>
</select>
<select name="cnxxid" id="select">
<option value="">所有城市</option>
</select>

附三张表结构:
create table Tcountry /*国家地区代码表*/
(
cnid integer not null,/*国家地区代号*/
country nvarchar(40) not null,/*国家地区*/

)
alter table Tcountry add constraint pk_Tcountry primary key(cnid)


create table Tstate_l /*省级分区代码表*/
(
cnid integer not null,/*国家地区代号*/
cnxid integer not null,/*省级分区代号*/
state nvarchar(30) not null,/*省级名*/

)
alter table Tstate_l add constraint pk_Tstate_l primary key(cnid,cnxid)


create table Tcity_l /*城市代码表*/
(
cnid integer not null,/*国家地区代号*/
cnxid integer not null,/*省级分区代号*/
cnxxid integer not null,/*城市代号,要求一个国家的城市代号不同*/
city nvarchar(30) not null,/*城市名*/

)
alter table Tcity_l add constraint pk_Tcity_l primary key(cnid,cnxid,cnxxid)
music_boy_2000 2005-06-06
  • 打赏
  • 举报
回复
主要是那个选出学院然后根据学院出班级关联不起来,求各位给我高度一下那里不行

全部代码在http://www.lingnancollege.com.cn/ads/reg.rar上下载

调试的文件名是reg1.asp,谢谢

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧