问题解决了,结贴了,相关的ASP代码如下: 来源:飞思工作室 作者:yoyo 很多朋友问过怎么实现两级联动的下拉菜单的问题了,今天我就写下来,供各位朋友参考。 首先给要做两个下拉菜单,分别命名为caidan1和caidan2,然后在caidan1的select里面添加代码onChange="self.location='当前文件?caidan1='+this.value"即<select name="caidan1" onChange="self.location='当前文件?caidan1='+this.value">,这样就把第一个菜单选择的值传递过去了,第二个菜单接收到值后就可以通过ASP到数据库中查找数据,然后以下拉列表的形式呈现出来,具体代码如下: <select name="caidan2"> <% if caidan1="" then %> <option selected>手机型号</option> <% else set rs=server.CreateObject("adodb.recordset") sql="select * from [表名] where 字段名='"&caidan1&"' order by id" rs.open sql,conn,1,1 do while not rs.eof %> <option value="<%=rs("字段名")%>"><%=rs("字段名")%></option> <% rs.movenext loop rs.close end if %> </select> 这样写完后还有一个小小的问题,就是等把值传递过来之后,你就发现第一个下拉列表中的选项不是你选择的那个值了,而是默认值了,在这个情况下,可以在第一个的下拉列表的每一个option里面加入下面一句<%if caidan1="此option所对应的值" then%> selected<%end if%>完整的option是<option value="诺基亚" <%if caidan1="诺基亚" then%> selected<%end if%>>诺基亚</option> 到这里,这个联动的下拉菜单就做完了,希望他对大家有所帮助。 实例:http://www.cc9500.com/new/select.asp
JS也可以做
我只提供思路
在触发第一个下拉列表框时,利用Ajax的无刷新技术数据库相连,并取出数据放入到第二个列表框
来源:飞思工作室 作者:yoyo
很多朋友问过怎么实现两级联动的下拉菜单的问题了,今天我就写下来,供各位朋友参考。
首先给要做两个下拉菜单,分别命名为caidan1和caidan2,然后在caidan1的select里面添加代码onChange="self.location='当前文件?caidan1='+this.value"即<select name="caidan1" onChange="self.location='当前文件?caidan1='+this.value">,这样就把第一个菜单选择的值传递过去了,第二个菜单接收到值后就可以通过ASP到数据库中查找数据,然后以下拉列表的形式呈现出来,具体代码如下:
<select name="caidan2">
<%
if caidan1="" then
%>
<option selected>手机型号</option>
<%
else
set rs=server.CreateObject("adodb.recordset")
sql="select * from [表名] where 字段名='"&caidan1&"' order by id"
rs.open sql,conn,1,1
do while not rs.eof
%>
<option value="<%=rs("字段名")%>"><%=rs("字段名")%></option>
<%
rs.movenext
loop
rs.close
end if
%>
</select>
这样写完后还有一个小小的问题,就是等把值传递过来之后,你就发现第一个下拉列表中的选项不是你选择的那个值了,而是默认值了,在这个情况下,可以在第一个的下拉列表的每一个option里面加入下面一句<%if caidan1="此option所对应的值" then%> selected<%end if%>完整的option是<option value="诺基亚" <%if caidan1="诺基亚" then%> selected<%end if%>>诺基亚</option>
到这里,这个联动的下拉菜单就做完了,希望他对大家有所帮助。
实例:http://www.cc9500.com/new/select.asp
http://www.blogjava.net/rickhunter/articles/46582.html