ASP+JS三级联动下拉菜单[调用数据库数据]
2007-03-09 00:00
896 查看
网上三级菜单多是多但是代码都比较烦,我这个应该说还是比较直观的:
'肯定先要连接数据库了,不用说了
'数据库结构
'类别1表名称:a 字段:ID,Name 说明:ID为主键是类别1的ID值,Name为类别1的名称
'类别2表名称:aa 字段:ID,aID,Name 说明:ID为主键是类别2的ID值,aID为所属类别1的ID值,Name为类别2的名称
'类别3表名称:aaa 字段:ID,aID,aaID,Name 说明:ID为主键是类别3的ID值,aID为所属类别1的ID值,aaID为所属类别2的ID值,Name为类别3的名称
=====test1.asp 你可以测试下,接收到的都是类别的ID值====
<%
response.write"1:"&Request.form("s1")&"<BR>"
response.write"2:"&Request.form("s2")&"<BR>"
response.write"3:"&Request.form("s3")&"<BR>"
%>
'肯定先要连接数据库了,不用说了
'数据库结构
'类别1表名称:a 字段:ID,Name 说明:ID为主键是类别1的ID值,Name为类别1的名称
'类别2表名称:aa 字段:ID,aID,Name 说明:ID为主键是类别2的ID值,aID为所属类别1的ID值,Name为类别2的名称
'类别3表名称:aaa 字段:ID,aID,aaID,Name 说明:ID为主键是类别3的ID值,aID为所属类别1的ID值,aaID为所属类别2的ID值,Name为类别3的名称
=====test1.asp 你可以测试下,接收到的都是类别的ID值====
<%
response.write"1:"&Request.form("s1")&"<BR>"
response.write"2:"&Request.form("s2")&"<BR>"
response.write"3:"&Request.form("s3")&"<BR>"
%>
<!-- 三级联动菜单 开始 --> <script language="JavaScript"> <!-- <% '二级数据保存到数组 Dim count2,rsClass2,sqlClass2 set rsClass2=server.createobject("adodb.recordset") sqlClass2="select * from aa" rsClass2.open sqlClass2,conn,1,1 %> var subval2 = new Array(); //数组结构:一级根值,二级根值,二级显示值 <% count2 = 0 do while not rsClass2.eof %> subval2[<%=count2%>] = new Array('<%=rsClass2("aID")%>','<%=rsClass2("ID")%>','<%=rsClass2("Name")%>') <% count2 = count2 + 1 rsClass2.movenext loop rsClass2.close %> <% '三级数据保存到数组 Dim count3,rsClass3,sqlClass3 set rsClass3=server.createobject("adodb.recordset") sqlClass3="select * from aaa" rsClass3.open sqlClass3,conn,1,1 %> var subval3 = new Array(); //数组结构:二级根值,三级根值,三级显示值 <% count3 = 0 do while not rsClass3.eof %> subval3[<%=count3%>] = new Array('<%=rsClass3("aaID")%>','<%=rsClass3("ID")%>','<%=rsClass3("Name")%>') <% count3 = count3 + 1 rsClass3.movenext loop rsClass3.close %> function changeselect1(locationid) { document.form1.s2.length = 0; document.form1.s2.options[0] = new Option('==请选择类别==',''); document.form1.s3.length = 0; document.form1.s3.options[0] = new Option('==请选择专题==',''); for (i=0; i<subval2.length; i++) { if (subval2[i][0] == locationid) {document.form1.s2.options[document.form1.s2.length] = new Option(subval2[i][2],subval2[i][1]);} } } function changeselect2(locationid) { document.form1.s3.length = 0; document.form1.s3.options[0] = new Option('==请选择专题==',''); for (i=0; i<subval3.length; i++) { if (subval3[i][0] == locationid) {document.form1.s3.options[document.form1.s3.length] = new Option(subval3[i][2],subval3[i][1]);} } } //--> </script> <form name="form1" method="post" action="test1.asp"> 三级联动: <% Dim count1,rsClass1,sqlClass1 set rsClass1=server.createobject("adodb.recordset") sqlClass1="select * from a" rsClass1.open sqlClass1,conn,1,1 %> <select name="s1" onChange="changeselect1(this.value)"> <option>==请选择频道==</option> <% count1 = 0 do while not rsClass1.eof response.write"<option value="&rsClass1("ID")&">"&rsClass1("Name")&"</option>" count1 = count1 + 1 rsClass1.movenext loop rsClass1.close %> </select> <select name="s2" onChange="changeselect2(this.value)"> <option>==请选择类别==</option> </select> <select name="s3"> <option>==请选择专题==</option> </select> <input type="submit" name="Submit" value="提交"></form> <!-- 三级联动菜单 结束 -->
相关文章推荐
- ASP+JS三级联动下拉菜单[调用数据库数据]
- ASP+JS三级联动下拉菜单[调用数据库数据]
- ASP+JS三级联动下拉菜单[调用数据库数据]
- ASP+JS三级联动下拉菜单[调用数据库数据](转)
- ASP+JS三级联动下拉菜单[调用数据库数据](转载)
- ASP+JS三级联动下拉菜单[调用数据库数据]
- ASP+JS三级联动下拉菜单[调用数据库数据]
- ASP+JS动态实现(数据库)三级联动下拉菜单
- ASP+JS三级联动下拉菜单 调用数据…
- 三级联动下拉菜单[调用数据库数据]
- 用JS实现省市区三级联动 (数据从数据库查出)
- Ajax无刷新技术实现省市县三级联动下拉菜单--Asp.Net
- JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
- 关于“Asp.net 中后台CS读取数据库数据生成数组传递给前台页面JS使用”
- 在静态页面中,通过asp.net页面调用数据库数据~
- 省市区三级联动效果--城市数据来源百度js文件,无需后台交互
- ASP的三级联动下拉菜单
- Asp.Net Grieview Eval 绑定数据 调用JS事件
- JS省市区联动,可由数据库提取数据至JS
- WheelView实现省市区三级联动(数据库实现版本号附带完整SQL及数据)