下拉框传值问题

mwpump 2003-05-29 05:41:42
有三点:
1、下拉框的选项是用数据库字段,也就是说从数据库中提取;
2、当下拉框中选中某个选项时,就把这个值传给某个变量,不用按提交,用作为下面显示内容的搜索条件;
3、当下拉框选择某个选项后,根据得到的选择值到数据库里把满足条件的数据显示出来。

这样实现一个效果,即当下拉框不选择时有一个默认显示,如果选取了另外一个选项就显示这个选项有关的内容。


请高手指教,代码提示更好。
...全文
176 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
seesea125 2003-05-29
  • 打赏
  • 举报
回复
<body bgcolor="#fffdf4" text="#000000" leftmargin="0" topmargin="0" onload = Changeproduct(document.all.product)>
<%
Dim Arr_productname
sub CloseRs(rs)
Rs.close
set Rs = nothing
end sub
Sql_All = "select Id,Name from product"
set Rs_All = Server.CreateObject ("adodb.recordset")
Rs_All.Open Sql_All,conn,3,1
Response.Write "<Select name = product id = product onchange = Changeproduct(this)>"
do while not Rs_All.EOF
%><option value = <%=Rs_All("Id")%>>
<%=Rs_All("Name")%>
<%
Rs_All.MoveNext
loop
Response.Write "</Select>"
CloseRs(Rs_All)
Sql_productname= "select Id,CId,Name from productname order by Id"
set Rs_productname = server.CreateObject ("adodb.recordset")
Rs_productname.Open Sql_productname,conn,3,1
count = Rs_productname.RecordCount
redim Arr_productname(count)
i = 0
do while not Rs_productname.EOF
New_Str = ""
theId = Rs_productname("Id")
theCId = Rs_productname("CId")
theName = Rs_productname("Name")
New_Str = theCId&","&theId&","&theName
Arr_productname(i) = New_Str
i = i +1
Rs_productname.MoveNext
loop
CloseRs(Rs_productname)
Conn.Close
set Conn = Nothing
Response.Write "<script language = javascript>"
Response.Write " var All_productname = new Array("&count&");"
for i = lbound(Arr_productname) to ubound(Arr_productname)-1
Response.Write "All_productname["&i&"] = '"&Arr_productname(i)&"';"
next
Response.Write "</script>"
%>
<script language="javascript">
function Changeproduct(id)
{
theproductId = id.options[id.selectedIndex].value;

for (j = document.all.productname.length;j>=0;j--) document.all.productname.remove(j);

for (i = 0 ;i<<%=count%>;i++)
{
theproductname = All_productname[i].split(",");
if (theproductId == theproductname[0])
{
document.all.productname.options.add(new Option(theproductname[2])); }
}

}
</script>
我昨天刚试过,很爽,呵呵
dongtianjie 2003-05-29
  • 打赏
  • 举报
回复
可以定义java函数 代码如下
你要是使话要将其中的数据库的代码改一下

<select name="bigclassid" id="bigclassid" onMouseOver="window.status='点击这里选择文章大类';return true;" onMouseOut="window.status='';return true;" onChange="changelocation(document.form1.bigclassid.options[document.form1.bigclassid.selectedIndex].value)" size="1">
<option selected value="">请选择大类</option>
<%
do until rs.eof

%>
<option value="<%=rs("bigclassid")%>"><%=rs("bigclassname")%></option>

<%
bigclassid=rs("bigclassid")
rs.movenext

loop
rs.close
set rs = nothing



%>

</select>


<select name="smallclassid" id="smallclass" size="1" onMouseOver="window.status='点击这里选择文章小类';return true;" onMouseOut="window.status='';return true;" >
<option selected value="" selected>请选择小类</option>
<%set rs=server.CreateObject("ADODB.RecordSet")
sql="select * from smallclass where bigclassid="&bigclassid
rs.open sql,conn,1,1%>
<%
do until rs.eof

%>
<option value="<%=rs("smallclassid")%>"><%=rs("smallclassname")%></option>
<%
rs.movenext

loop
rs.close
set rs = nothing

%>
</select>

<script language="javascript">
function changelocation(locationid)
{
document.form1.smallclassid.length = 0;

var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{
if (subcat[i][1] == locationid)
{
document.form1.smallclassid.options[document.form1.smallclassid.length] = new Option(subcat[i][0], subcat[i][2]);
}
}

}
</script>

28,402

社区成员

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

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