asp 如何根据列表菜单返回数据
本人菜鸟一个,这段代码只能提取第一列类型的数据,如何才能做到根据第一个列表菜单的数据返回第二个系列数据?<label>类型<selectname="select1"><%...
本人菜鸟一个,这段代码只能提取第一列类型的数据,如何才能做到根据第一个列表菜单的数据返回第二个系列数据?
<label>类型
<select name="select1">
<%
Dim sql
If Rs.State=1 Then Rs.Close
sql = "select distinct 类型 from xlckc"
Rs.open sql,Conn,1,1
while Not Rs.Eof
Response.write("<option>"&rs("类型")&"</option>")
rs.MoveNext
Wend
rs.Close
%>
</select>
<label>系列
<select name="select2">
<%
sql = "select distinct 系列 from xlckc where 类型='"&request("select1")&"'"
Rs.open sql,Conn,1,1
while Not Rs.Eof
Response.write("<option>"&rs("系列")&"</option>")
rs.MoveNext
Wend
%>
rs.Close 展开
<label>类型
<select name="select1">
<%
Dim sql
If Rs.State=1 Then Rs.Close
sql = "select distinct 类型 from xlckc"
Rs.open sql,Conn,1,1
while Not Rs.Eof
Response.write("<option>"&rs("类型")&"</option>")
rs.MoveNext
Wend
rs.Close
%>
</select>
<label>系列
<select name="select2">
<%
sql = "select distinct 系列 from xlckc where 类型='"&request("select1")&"'"
Rs.open sql,Conn,1,1
while Not Rs.Eof
Response.write("<option>"&rs("系列")&"</option>")
rs.MoveNext
Wend
%>
rs.Close 展开
2个回答
展开全部
这个思路是不对的,其实这是属于异步传输,需要用ajax进行操作,这个网上很多代码,思路是这样的,当你从select1中选择到内容的时候,触发ajax的数据传输指令
举个例子
<select name="select1" onchange="showHint(this.value)">
而JS代码可以写在head里,如下
function showHint(str)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","showhit.asp?select1="+str,true);
xmlhttp.send();
}
这样让showhit.asp去做这个数据库查询的操作 然后返回一个
<select name="select2">......</select>的内容 这样就显示在这个页面了
如果传输的数据包含中文会出现乱码
你在两个页面都增加一下编码设置
在页面开始ASP脚本里写上Response.charset="GB2312"
举个例子
<select name="select1" onchange="showHint(this.value)">
而JS代码可以写在head里,如下
function showHint(str)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","showhit.asp?select1="+str,true);
xmlhttp.send();
}
这样让showhit.asp去做这个数据库查询的操作 然后返回一个
<select name="select2">......</select>的内容 这样就显示在这个页面了
如果传输的数据包含中文会出现乱码
你在两个页面都增加一下编码设置
在页面开始ASP脚本里写上Response.charset="GB2312"
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询