CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

关于 列表/菜单 的问题!

楼主ylc8685(King.ylc)2005-01-22 23:23:17 在 Web 开发 / ASP 提问

如何能够实现   列表/菜单   的更新,大致上的意思就是,我在选中前一个列表/菜单的时候,后面的列表/菜单   能够自动更新为前面那个列表/菜单   所选的内容。  
      打个比喻:就比如说作一个论坛注册用户的时候需要添写地址,选中[中国]以后以后的列表/菜单中就更新出[省的名称],再选中省的名称以后就更新出[市的名称]。  
      请各位帮忙解决一下。可能我说的有些不怎么清楚,如果能明白的话请告诉我应该如何处理。谢谢。  
  问题点数:20、回复次数:7Top

1 楼lstup(流水)回复于 2005-01-22 23:33:57 得分 0

JS代码,我也说不清楚,你可以看看那些论坛的代码。右键看HTML源文件就可以了,那段JS   COPY过去就可以了。  
  Top

2 楼biglrj99(玉面狼)回复于 2005-01-22 23:45:09 得分 20

<html>  
  <BODY>    
  <SELECT   NAME="s1"><option>需要JavaScript才能正确显示</SELECT>    
  <SELECT   NAME="s2"></SELECT>    
  <SELECT   NAME="s3"></SELECT>    
  <SELECT   NAME="s4"></SELECT>    
  <SCRIPT   LANGUAGE="JavaScript">    
  <!--    
  //选择框的名字    
  selector   =   [   "s1",   "s2",   "s3",   "s4"   ];    
  //选择项:   "名字",   "值",   子选择    
  menu   =   [    
  "地球","1",    
  [    
  "中国","86",    
  [    
  "北京","BJ",    
  [    
  "--","1",null    
  ],    
  "四川","SC",    
  [    
  "成都","28",null,    
  "乐山","",null,    
  "攀枝花","",null,    
  "自贡","",null,    
  "德阳","",null,    
  "绵阳","",null    
  ]    
  ],    
  "米国","1",    
  [    
  "加利福尼亚","CA",    
  [    
  "旧金山","1",null,    
  "洛杉矶","2",null    
  ],    
  "华盛顿","WA",    
  [    
  "西雅图","seattle",null    
  ]    
  ]    
  ],    
  "火星","2",    
  [    
  "大峡谷","86",    
  [    
  "小山丘","BJ",    
  [    
  "A地区","28",null,    
  "B地区","",null,    
  "C地区","",null    
  ]    
  ]    
  ]    
  ];    
   
  function   wizz(level)    
  {    
  if(   level   ==   0   )    
  a   =   menu;    
  else    
  {    
  str   =   "menu";    
  for(   i=0;   i<level;   i++   )    
  str   +=   "["   +   (document.all[selector[i]].selectedIndex   *   3   +   2)   +   "]";    
  a   =   eval(str);    
  }    
  if(   a   ==   null   )   return;    
  s   =   document.all[selector[level]];    
  i   =   s.length;    
  while(   i   >   0   )   s.options[--i]   =   null;    
  while(   i   <   Math.floor(a.length/3)   )    
  s.options[i]   =   Option(   a[i*3],   a[i++*3+1]   );    
  s.onchange   =   Function("wizz("   +   (level+1)   +   ")");    
  wizz(level+1);    
  }    
  wizz(0);    
  //-->    
  </SCRIPT>    
  </BODY>    
  </HTML>    
   
  Top

3 楼biglrj99(玉面狼)回复于 2005-01-22 23:46:01 得分 0

去javascript版,搜索一下“级联菜单”,就有很多了Top

4 楼ahuiok(希羽)回复于 2005-01-23 01:28:34 得分 0

二级联动<转载>  
   
  Access数据库  
  ●           数据库名:DB_ProvinceCat  
  ●           表名:1)Tb_Province           2)Tb_City  
  说明:表Tb_Province用来存放省份名称;表Tb_City用来存放相应的城市名称。  
  ●           字段名的设计  
  1)     表Tb_Province的字段有省份ID号(ProvinceCatID)、省份代码(ProvinceCode)、省份名称(ProvinceName),表1给出了示例:  
  ProvinceCatID         ProvinceCode           ProvinceName  
  1                                   01                     北京市  
  2                                   02                     上海市  
  3                                   03                     天津市  
  4                                   04                     重庆市  
  5                                   05                     广东省  
  6                                   06                     浙江省  
  7                                   07                     福建省  
  8                                   08                     海南省  
  9                                   09                     江苏省  
  表1  
  2)     表Tb_City的字段有城市ID号(CityID)、城市代码(CityCode)、城市名称(CityName),表2给出了示例:  
   
  CityID             CityCode           CityName  
  1                       01001               北京市  
  2                       02001               上海市  
  3                       03001               天津市  
  4                       04001               重庆市  
  5                       05001               广州市  
  6                       05002               深圳市  
  7                       05003               珠海市  
  8                       05004               茂名市  
  9                       05005               中山市  
  10                     06001               杭州市  
  11                     06002               温州市  
  12                     07001               福州市  
  13                     07002               厦门市  
  14                     08001               海口市  
  15                     08002               三亚市  
  16                     08003               万宁市  
  17                     08004               五指山市  
  18                     09001               南京市  
  19                     09002               苏州市  
   
  表2  
   
  说明:这里要注意的一点就是,身份代码要对应城市代码的头两位,数据库尽量不要出现有父亲没儿子的事情。  
  文件:TwoSelect.asp经简单测试好用!  
  <HTML>  
  <HEAD>  
  <META   name=VI60_defaultClientScript   content=VBScript>  
  <META   NAME="GENERATOR"   Content="Microsoft   Visual   Studio   6.0">  
   
  </HEAD>  
  <BODY>  
  <%  
  Dim   Cn,Rs  
  Dim   SQL,StrDSN    
  Dim   MyArray()  
  Set   cn=Server.CreateObject("ADODB.connection")  
  Set   Rs   =   Server.CreateObject("ADODB.Recordset")  
  StrDSN   =   "Driver={Microsoft   Access   Driver   (*.mdb)};   DBQ="   &   Server.MapPath("DB_ProvinceCat.mdb")  
  Cn.Open   strDSN  
  SQL="select   *   from   Tb_Province   order   by   ProvinceCatID"  
  Rs.Open   SQL,cn,3,2  
  Rs.MoveFirst  
  redim   MyArray(Rs.RecordCount-1)  
  %>  
  <table   width="273"   border="0"   cellspacing="0"   cellpadding="0">  
      <tr>    
          <td   width="96">   <SELECT   id=select1   style="WIDTH:   96px"   name=select1>  
                  <OPTION   selected   value=select<%=Rs("ProvinceCode")%>><%=Rs("ProvinceName")%></OPTION>  
                  <%  
    MyArray(0)=Rs("ProvinceCode")  
  Rs.MoveNext  
  for   i=1   to   Rs.RecordCount-1  
  %>  
                  <OPTION     value=select<%=Rs("ProvinceCode")%>><%=Rs("ProvinceName")%></OPTION>  
                  <%  
  MyArray(i)=Rs("ProvinceCode")  
  Rs.MoveNext  
    next  
  %>  
              </SELECT>    
              <%  
  Rs.Close  
  %>  
          </td>  
          <td   width="96">    
              <%  
  for   i=0   to   ubound(   MyArray)  
  SQL="select   *   from   Tb_City     where   CityCode   like   '"   &     MyArray(i)   &   "%'"  
  'Response.End  
  Rs.Open   SQL,cn,3,2  
  if   Rs.RecordCount   >0   then  
  Rs.MoveFirst    
  %>  
              <SELECT   id=select<%=MyArray(i)%>   style="WIDTH:   96px;display='none'"   name=select<%=MyArray(i)%>>  
                  <%do   while   not   Rs.EOF   %>  
                  <OPTION     value="<%=Rs("CityName")%>"><%=Rs("CityName")%></OPTION>  
                  <%  
  Rs.MoveNext    
  loop  
  %>  
              </SELECT>    
              <%  
  end   if  
  Rs.Close  
  next  
  %>  
  <SCRIPT     LANGUAGE=vbscript>  
  <!--  
   
  dim   Province,City  
  dim   obj,lastObj  
  lastObj="select01"  
  obj="select01"  
  window.execScript   "select01.style.display='block'"   ,"vbs"  
  Province="北京市"  
  City="北京市"  
  Sub   select1_onchange  
  obj=select1.value  
  if   obj<>lastObj   and   isobject(eval(obj))   then  
  window.execScript   Obj   &   ".style.display='block'"   ,"vbs"  
  window.execScript     lastObj   &   ".style.display='none'"   ,"vbs"  
  Province=select1.options(select1.selectedIndex).innertext  
  window.execScript   "City="   &   Obj   &   ".value"   ,"vbs"  
  lastObj=select1.value  
  end   if  
  End   Sub  
  sub   SubMe()  
  window.execScript   "City="   &   Obj   &   ".value"   ,"vbs"  
  window.location.href="TwoSelect.asp?Province="   &   Province   &   "&City="   &   City  
  End   Sub  
  -->  
  </SCRIPT>  
          </td>  
          <td   width="81"><input   type="button"   name="Submit"   value="按钮"   onClick="vbs:SubMe"></td>  
      </tr>  
  </table>  
  </BODY>  
  </HTML>  
  Top

5 楼ahuiok(希羽)回复于 2005-01-23 01:29:03 得分 0

全部复制到DW里看,会看得舒服些。Top

6 楼ylc8685(King.ylc)回复于 2005-01-23 02:23:58 得分 0

谢谢各位帮助Top

7 楼ylc8685(King.ylc)回复于 2005-01-23 02:34:45 得分 0

ahuiok(fervor)   ,谢谢你的帮助,刚才结帖的时候忘记给你加分了。Top

相关问题

  • 菜单列表项
  • 列表菜单的用法
  • 列表/菜单问题
  • 问一个列表/菜单问题
  • 关于列表/菜单的问题,高分寻求答案
  • 下拉列表框把下拉菜单挡住了?
  • 紧急求助!!我的菜单被下拉列表遮盖了:(
  • csdn的论坛列表这个菜单是怎么做的
  • 问一个下拉列表/菜单问题
  • 一个有关列表/菜单的问题(紧急求助)

关键词

得分解答快速导航

  • 帖主:ylc8685
  • biglrj99

相关链接

  • Web开发类图书

广告也精彩

反馈

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