CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

求无限级下拉联动菜单(要有数据库连接)

楼主lilu207(lilu)2005-01-19 13:09:13 在 Web 开发 / ASP 提问

数据库表:  
  table1(id   name)   都是varchar字段  
  (id内每两位表示一层)  
   
  id                 name    
  01                 一层   (一级)  
  0101             一层的一层(二级)  
  010101         一层的一层的一层(三级)  
  010102         一层的一层的二层(三级)  
  02                 二层(一级)  
  0201             二层的一层(二级)  
  0202             二层的二层(二级)  
  …………  
   
  求联动菜单  
  一级菜单:选择“列出一级”(<SELECT   NAME="s1"><option>列出一级</SELECT>   ):  
  则“下拉菜单”里显示“一级”(即id为仅两位01、02,03……项);  
  二级菜单:   列出“一级菜单”中选中项的下一层,如“一级菜单”中选择“01”,则“二级菜单”里有“0101”,选择“02”,则有“0201”,“0202”两项(即id仅为四位且前两位等于一级id的项),三级菜单:  
  选择“二级菜单”中的项(如“0101”),如果在该二级目录下还有下一级,则生成一个下拉菜单”(<SELECT   NAME="s1"><option>选择下层</SELECT>),如果没有下一级,如“0201”,则下拉菜单结束;  
  四级菜单:和三级菜单一样,“三级菜单”选定了之后,有下一级,一样生成一个下拉菜单,没有则结束;  
  …………  
  这样一直推下去。  
  请问这样的菜单怎么样做?  
  下拉菜单的内容一定是要从数据库的同一个表table1取出来的,菜单最多有10级以上。  
   
   
  问题点数:20、回复次数:6Top

1 楼hackate(兰花开香入梦境,独思佳人亦飘然!!)回复于 2005-01-19 13:35:38 得分 1

看啊信的有联动代码啊!Top

2 楼lilu207(lilu)回复于 2005-01-19 13:37:32 得分 0

没找倒Top

3 楼xl1860(九天)回复于 2005-01-19 14:53:28 得分 1

这问题发了很多次了  
  Top

4 楼hqcsx(蓝色心灵)回复于 2005-01-22 14:23:02 得分 14

'三级下拉框连动  
  '  
  '数据库:  
  'location  
  '表1   loaction     所在地表  
  '       字段  
  '       loactionid  
  '       loactionname   名字  
  '表2   district     所在的地区表  
  '       字段  
  '       locationid    
  '         districtid  
  '         districtname  
  '表3   village     所在的县区表  
  '       字段  
  '       districtid    
  '       villageid  
  '       villagename  
   
  <%Option   Explicit%>    
  <html>    
  <head>    
  <title>List</title>    
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">    
  <%    
  dim   conn    
  dim   rs    
  dim   sql    
  dim   count    
  dim   rs1    
  dim   sql1    
  dim   rs2    
  dim   sql2    
  dim   count2    
   
   
   
  set   conn=server.createobject("adodb.connection")    
  conn.open"provider=sqloledb;data   source=192.168.0.33;uid=sa;pwd=;database=location;"    
   
   
  sql   =   "select   *   from   district   order   by   locationid   asc"    
  set   rs   =   conn.execute(sql)    
  %>    
  <script   language   =   "JavaScript">    
  var   onecount;    
  onecount=0;    
  subcat   =   new   Array();    
  <%    
  count   =   0    
  do   while   not   rs.eof    
  %>    
  subcat[<%=count%>]   =   new   Array("<%=   trim(rs("districtname"))%>","<%=   trim(rs("locationid"))%>","<%=   trim(rs("districtid"))%>");    
  <%    
  count   =   count   +   1    
  rs.movenext    
  loop    
  rs.close    
  set   rs=nothing    
  %>    
  onecount=<%=count%>;    
   
  function   changelocation(locationid)    
  {    
  document.myform.smalllocation.length   =   0;    
   
  var   locationid=locationid;    
  var   i;    
  document.myform.smalllocation.options[0]   =   new   Option('==所选城市的地区==','');    
  for   (i=0;i   <   onecount;   i++)    
  {    
  if   (subcat[i][1]   ==   locationid)    
  {    
  document.myform.smalllocation.options[document.myform.smalllocation.length]   =   new   Option(subcat[i][0],   subcat[i][2]);    
  }    
  }    
   
  }    
  </script>    
   
   
  <%sql2   =   "select   *   from   village   order   by   districtid   asc"    
  set   rs2   =   conn.execute(sql2)    
  %>    
  <script   language   =   "JavaScript">    
  var   onecount2;    
  onecount2=0;    
  subcat2   =   new   Array();    
  <%    
  count2   =   0    
  do   while   not   rs2.eof    
  %>    
  subcat2[<%=count2%>]   =   new   Array("<%=   trim(rs2("villagename"))%>","<%=   trim(rs2("districtid"))%>","<%=   trim(rs2("villageid"))%>");    
  <%    
  count2   =   count2   +   1    
  rs2.movenext    
  loop    
  rs2.close    
  set   rs2=nothing    
  %>    
  onecount2=<%=count2%>;    
   
  function   changelocation2(villageid)    
  {    
  document.myform.village.length   =   0;    
   
  var   villageid=villageid;    
  var   j;    
  document.myform.village.options[0]   =   new   Option('==所选地区的县区==','');    
  for   (j=0;j   <   onecount2;   j++)    
  {    
  if   (subcat2[j][1]   ==   villageid)    
  {    
  document.myform.village.options[document.myform.village.length]   =   new   Option(subcat2[j][0],   subcat2[j][2]);    
  }    
  }    
   
  }    
  </script>    
   
   
   
  </head>    
  <body>    
  <form   name="myform"   method="post">    
  题目:<input   type="text"   name="T2"   size="20">  
   
  来源:<input   type="text"   name="T3"   size="20">  
   
  分类:<select   name="biglocation"   onChange="changelocation(document.myform.biglocation.options[document.myform.biglocation.selectedIndex].value)"   size="1">    
  <option   selected>请选择你所在的省份</option>    
  <%    
   
  sql1   =   "select   *   from   location   order   by   locationname   asc"    
  set   rs1   =   conn.Execute   (sql1)    
  do   while   not   rs1.eof    
  %>    
  <option   value="<%=trim(rs1("locationid"))%>"><%=trim(rs1("locationname"))%></option>    
   
  <%    
  rs1.movenext    
  loop    
  rs1.close    
  set   rs1   =   nothing    
  conn.Close    
  set   conn   =   nothing    
  %>    
  </select><select   name="smalllocation"   onChange="changelocation2(document.myform.smalllocation.options[document.myform.smalllocation.selectedIndex].value)">    
  <option   selected   value="">==所有地区==</option>    
  </select><select   name="village"   size="1">    
  <option   selected>==所有县区==</option>    
  </select>    
   
   
  关键词:<input   type="text"   name="T4"   size="20">  
   
  内容:<textarea   rows="9"   name="S1"   cols="51"></textarea>    
  </form>    
   
  </body>    
  </html>  
  Top

5 楼hqcsx(蓝色心灵)回复于 2005-01-22 14:23:42 得分 1

同一个表用相同的原理Top

6 楼czcty(peter)回复于 2005-01-22 15:14:18 得分 3

php+mysql  
  http://blog.csdn.net/czcty/archive/2004/12/23/226263.aspxTop

相关问题

  • 多级联动数据库版的竖(树)形菜单
  • 求jsp+数据库,做的二级联动菜单
  • 求各行业的二级联动代码及数据库
  • 求中国省市县三级联动access数据库,急~
  • 如何实现三级联动数据库下拉菜单
  • 求省市联动数据库一个
  • 请教:无限级分类的数据库设计思路,及表现方法
  • 怎样把这个2级联动选项该成3级的啊?(带数据库的)!!!
  • 急寻带数据库的2级或2级以上的XML联动菜单,在线等,立结婚!
  • 急求一个3级以上对应中国省城市的access数据库和联动的下拉列表

关键词

得分解答快速导航

  • 帖主:lilu207
  • hackate
  • xl1860
  • hqcsx
  • hqcsx
  • czcty

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo