asp 列表框问题--一个动态增加,另一个随之改变[类似像国家---省份]。。。在线等待

sxd78 2003-07-14 02:57:59
部分代码如下:
<form name="form1" method="post" action="" >
<p> 一级专业
<select name="select_Fclass" id="select_Fclass" onChange="sclass()">
<%
sql="select FclassCode,Fclass from gsm_Fclass"
'Response.Write sql
set res=Cnn.execute(sql)
do while not res.EOF
response.write "<option>"&res("FclassCode")&res("Fclass") &"</option>"
res.MoveNext
loop
%>

</select>
</form>

<%
Function sclass()
sql="select SclassCode,Sclass from gsm_Sclass where SclassCode="&left(trim(select_Fclass.value),1)
Response.Write sql
set res=Cnn.execute(sql)
response.write "<select name='select_Sclass' id='select_Sclass'>"
do while not res.EOF
response.write "<option>'&res('sclassCode')&res('sclass')&'</option>"
res.MoveNext
loop
response.write "</select>"
end Function
%>

如何解决这个问题,请指教!!
...全文
62 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxd78 2003-07-15
  • 打赏
  • 举报
回复
<form name="form1" method="post" action="sms_register.asp" >
<%
Dim MyArray()
SQL="select FclassCode,Fclass from gsm_Fclass"
Rs.Open SQL,Cnn,3,2
Rs.MoveFirst
redim MyArray(Rs.RecordCount-1)
%>
<table width="273" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="96"> <SELECT name=select1 id=select1 style="WIDTH:100px" onChange="select1_onchange()">
<option selected value=select<%=Rs("FclassCode")%>><%=Rs("Fclass")%></option>
<%
MyArray(0)=Rs("FclassCode")
Rs.MoveNext
for i=1 to Rs.RecordCount-1
%>
<option value=select<%=Rs("FclassCode")%>><%=Rs("Fclass")%></option>
<%
MyArray(i)=Rs("FclassCode")
Rs.MoveNext
next
%>
</select> </td>
<td width="96">
<%
for i=0 to ubound(MyArray)
SQL="select SclassCode,Sclass from gsm_Sclass where SclassCode="&"'"&trim(MyArray(i))&"'"
Response.Write SQL
Response.End
Rs.Open SQL,Cnn,3,2
if Rs.RecordCount >0 then
Rs.MoveFirst
%>
<select id=select4 style="WIDTH: 96px;display='none'" name=select<%=MyArray(i)%>>
<%do while not Rs.EOF %>
<option value="<%=Rs("Sclass")%>"><%=Rs("Sclass")%></option>
<%
Rs.MoveNext
loop
%>
</select> <%
end if
Rs.Close
next
%>
<SCRIPT LANGUAGE=vbscript>
<!--
dim Fclass,Sclass
dim obj,lastObj
lastObj="selectA"
obj="selectA"
window.execScript "selectA.style.display='block'" ,"vbs"

Sub select1_onchange
obj=select1.value
if obj<>lastObj and isobject(eval(obj)) then
window.execScript Obj & ".style.display='block'" ,"vbs"
window.execScript lastObj & ".style.display='none'" ,"vbs"
Fclass=select1.options(select1.selectedIndex).innertext
window.execScript "Sclass=" & Obj & ".value" ,"vbs"
lastObj=select1.value
end if
End Sub
sub SubMe()
window.execScript "Sclass=" & Obj &".value" ,"vbs"
window.location.href="sms_register.asp?Fclass="&Fclass&"&Sclass="&Sclass
End Sub
-->
</SCRIPT>
</td>
<td width="81"><input type="button" name="Submit" value="定制" onClick="vbs:SubMe"></td>
<td width="81"><input type="submit" name="Submit2" value="取消" onClick="vbs:SubMe"></td>
</tr>
</table>

</p>
<p> </p>
</form>
以上是部分代码,第二个列表框没显示出来,第一个改变时间有错误,还往高手解释Sub select1_onchange里代码含义[是改别人的]
dwxq 2003-07-14
  • 打赏
  • 举报
回复
关注一下
fason 2003-07-14
  • 打赏
  • 举报
回复
那就看看这个吧,用得比较少,主要是思路,还可以改进的
http://expert.csdn.net/Expert/topic/1687/1687993.xml?temp=.4326746
sxd78 2003-07-14
  • 打赏
  • 举报
回复
to fason(阿信)
你的方法是挺好,可我希望在我基础之上改,还往赐教!
因为改你javascript我还的做好做工作!
smallmobile 2003-07-14
  • 打赏
  • 举报
回复
fason(阿信) 您的方法实在是太棒了,比我的好多了,又让我学了一招,真是3q亚
zorou_fatal 2003-07-14
  • 打赏
  • 举报
回复
学习中,楼上的是不是有很多示例代码啊?
能否发给小弟?邮箱zorou@163.com
fason 2003-07-14
  • 打赏
  • 举报
回复
ie,ns,mozilla下通过
<!--#include file="conn.inc"-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<title>两级关联菜单</title>
</HEAD>
<BODY>
<!--
by fason(2003.4.5)
表名:pro_city
结构:id(自编) province(文本) city(文本)
注释:conn.inc为连接数据库文件
ie,netscape,mozilla下测试通过
-->
<SCRIPT LANGUAGE=javascript>
<!--
var prv=new Array()//省
var cty=new Array()//市
function init(){
<%
dim prv,cty,i,j
i=0
set prv=conn.execute("select distinct province from pro_city")
if not prv.eof then
do while not prv.eof
j=0
%>
prv[<%=i%>]="<%=trim(prv("province"))%>";
<%
set cty=conn.execute("select city from pro_city where province='"&trim(prv("province"))&"'")
if not cty.eof then%>
cty[<%=i%>]=new Array()
<%do while not cty.eof%>
cty[<%=i%>][<%=j%>]="<%=trim(cty("city"))%>"
<%j=j+1
cty.movenext
loop
end if
cty.close :set cty=nothing
i=i+1
prv.movenext
loop
end if
prv.close :set prv=nothing
%>
if(prv.length >0){
for(i=0;i<prv.length;i++)
with(document.frm.province)options[length]=new Option(prv[i],prv[i])
document.frm.province.onchange=new Function("go(this.selectedIndex)")
}
}

function go(sIndex){
with(document.frm.city){
length=0;
if(sIndex==0){options[0]=new Option("请选择");return}
for(i=0;i<cty[sIndex-1].length;i++)
options[length]=new Option(cty[sIndex-1][i],cty[sIndex-1][i])
}
}
window.onload=init
-->
</SCRIPT>
<form name=frm>
<SELECT name=province>
<OPTION selected>请选择</OPTION>
</SELECT>
<SELECT name=city>
<OPTION selected>请选择</OPTION>
</SELECT>
</form>
</BODY>
</HTML>
sxd78 2003-07-14
  • 打赏
  • 举报
回复
不行,不增加select_Sclass 改变select_Fclass出错!
smallmobile 2003-07-14
  • 打赏
  • 举报
回复
你可以用form,自己提交给你自己
这样就可以了,我的很多联动框都是这么做出来的

ps:抱歉,上面代码没有仔细看,8好意思
twsky 2003-07-14
  • 打赏
  • 举报
回复
上面的方法不行吗?
我看可以啊

28,391

社区成员

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

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