标题:[求助]求一个最简单的二级联欢动select下拉菜单
只看楼主
only
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2004-6-23
 问题点数:0 回复次数:15 
[求助]求一个最简单的二级联欢动select下拉菜单

如题。我想实现这样的功能: 假如有两类商品:<1>男装 <2>女装 第一类(即<1>男装)里又有三小类:(1)西服;(2)夹克;(3)衬衫 第二类(即<2>女装)里也有三小类:(2)裙子;(2)礼服;(3)休闲装

为了商品录入的方便与规范:这些都是供用户选择的,现在我想用一个select里放这两类商品 (即男、女装这两大类),而另一个select里放各自的小类: 当用户在第一个select中选择<1>男装时,第二个select选项自动更新为: (1)西服;(2)夹克;(3)衬衫 当用户在第一个select中选择<2>女装时,第二个select选项自动更新为: (2)裙子;(2)礼服;(3)休闲装 也就是简单的二级联动菜单,求那位哥哥姐姐帮我写一段代码实现这样的功能啊? 网上找了好多是用数据库或JavaScript+XML实现的,并且还有很多要用到数据库 请问大家用数组能实现吗?如果用数组不能实现那一种方法是最简单的呢? 小妹刚学ASP,对JavaScript一点不懂,最好给出详细注释! 这个问题困扰我好久了!求求大家了!谢谢大家!

[此贴子已经被静夜思于2004-12-20 22:17:23编辑过]

搜索更多相关主题的帖子: select 菜单 联欢 
2004-07-12 22:20
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
得分:0 

我写的 http://www.prctj.com/shop/tzsc/

我有两个表,一个大类表BType,一个子类表SubType

<select name="TypeID" id="TypeID" onChange="JavaScript:ShowSubType(this.options[this.selectedIndex].tag)"> <option value="">选择大类</option> <% Dim RecordCount,BTypeArr Rs.Open "Select TypeName,TypeID from BType",Conn,1,1 RecordCount=Rs.RecordCount If RecordCount>0 Then Redim BTypeArr(RecordCount-1) For i=0 To RecordCount-1 SqlStr="Select SubTypeID,SubTypeName From SubType Where TypeID=" & Rs("TypeID") Rs1.Open SqlStr,Conn 'BTypeArr(i)="<option value=''>选择小类</option>" While Not Rs1.Eof BTypeArr(i)=BTypeArr(i) & "<option value='" & Rs1("SubTypeID") & "'>" & Rs1("SubTypeName") & "</option>" Rs1.MoveNext Wend Rs1.Close %> <option value="<%=Rs("TypeID")%>" tag=<%=i%>><%=Rs("TypeName")%></option> <% Rs.MoveNext Next End If Rs.Close %> </select> <select name="SubTypeID"> <option value="">选择小类</option> </select>

<%If RecordCount>0 Then%> <script language="JavaScript"> var BTypeArr=new Array(); <% For i=0 To RecordCount-1 %> BTypeArr[<%=i%>]="<%=BTypeArr(i)%>"; <% Next %> function ShowSubType(Index) { document.frmSearch.SubTypeID.outerHTML="<select name='SubTypeID'><option value=''>选择小类</option>" + BTypeArr[Index] + "</select>"; } </script> <%End If%>

[此贴子已经被作者于2004-07-12 22:31:28编辑过]


天津网站建设 http://www./
2004-07-12 22:30
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
得分:0 

生成的HTML和JavaScript代码如下: <form name=frmSearch> <select name="TypeID" id="TypeID" onChange="JavaScript:ShowSubType(this.options[this.selectedIndex].tag)"> <option value="">选择大类</option> <option value="1" tag=0>电脑网络</option> <option value="2" tag=1>家居日用</option> <option value="3" tag=2>通讯产品</option> <option value="4" tag=3>交通工具</option> <option value="5" tag=4>家用电器</option> <option value="6" tag=5>艺术收藏</option> <option value="7" tag=6>房地产</option> <option value="8" tag=7>求职招聘</option> <option value="9" tag=8>生活服务</option> <option value="10" tag=9>公告</option> </select> <select name="SubTypeID"> <option value="">选择小类</option> </select> <script language="JavaScript"> var BTypeArr=new Array(); BTypeArr[0]="<option value='1'>电脑整机</option><option value='2'>笔记本</option><option value='3'>电脑配件</option><option value='4'>打印/扫描</option><option value='5'>网络设备</option><option value='6'>软件</option><option value='7'>耗材</option><option value='8'>其它</option>"; BTypeArr[1]="<option value='9'>家具</option><option value='10'>家用工具</option><option value='11'>服装服饰</option><option value='12'>布艺</option><option value='13'>厨卫用品</option><option value='14'>食品/饮料</option><option value='15'>其它</option>"; BTypeArr[2]="<option value='16'>电话/传真</option><option value='17'>手机/SIM卡</option><option value='18'>寻呼机</option><option value='19'>IC/IP卡</option><option value='20'>其它</option>"; BTypeArr[3]="<option value='21'>轿车</option><option value='22'>客车</option><option value='23'>货车</option><option value='24'>摩托车</option><option value='25'>自行车</option><option value='26'>特种车类</option><option value='27'>配件</option><option value='28'>其他</option>"; BTypeArr[4]="<option value='29'>电视机</option><option value='30'>冰箱/洗衣机</option><option value='31'>音响器材</option><option value='32'>空调/电扇</option><option value='33'>厨房电器</option><option value='34'>热水器</option><option value='35'>其他</option>"; BTypeArr[5]="<option value='36'>古董</option><option value='37'>钟表</option><option value='38'>字画/书籍</option><option value='39'>钱币/火花</option><option value='40'>邮票</option><option value='41'>珠宝</option><option value='42'>其它</option>"; BTypeArr[6]="<option value='43'>一房</option><option value='44'>二房</option><option value='45'>三房及上</option><option value='46'>公寓</option><option value='47'>别墅</option><option value='48'>写字楼</option><option value='49'>商铺</option><option value='50'>厂房</option>"; BTypeArr[7]="<option value='51'>经营管理</option><option value='52'>计算机</option><option value='53'>电子/通讯</option><option value='54'>金融/财务</option><option value='55'>销售/业务</option><option value='56'>文员/秘书</option><option value='57'>美术设计</option><option value='58'>工厂管理</option><option value='59'>翻译类</option><option value='60'>其它</option>"; BTypeArr[8]="<option value='61'>家政服务</option><option value='62'>旅游代理</option><option value='63'>家庭装修</option><option value='64'>医疗保健</option><option value='65'>票务代理</option><option value='66'>签证移民</option><option value='67'>教育培训</option><option value='68'>美容美发</option>"; BTypeArr[9]="<option value='69'>寻人</option><option value='70'>寻物</option><option value='71'>声明</option>"; function ShowSubType(Index) { document.frmSearch.SubTypeID.outerHTML="<select name='SubTypeID'><option value=''>选择小类</option>" + BTypeArr[Index] + "</select>"; } </script> </form>

[此贴子已经被作者于2004-07-13 10:28:27编辑过]


天津网站建设 http://www./
2004-07-12 22:33
regedit
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:950
专家分:0
注 册:2004-6-8
得分:0 
顶~~~~

最新作品:百货品牌商品资讯第一门户([url]http://www./[/url]),欢迎交流
2004-07-13 09:41
only
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2004-6-23
得分:0 
感谢grief版主 看起来好复杂啊!没有注释我都看不懂 不过还得谢谢!

2004-07-13 13:43
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
得分:0 

这还复杂?才几行代码呀。。。。。。

<!--大类的下拉列表框,它的onChange事件执行ShowSubType函数显示子类项--> <select name="TypeID" id="TypeID" onChange="JavaScript:ShowSubType(this.options[this.selectedIndex].tag)"> <option value="">选择大类</option> <% Dim RecordCount,BTypeArr Rs.Open "Select TypeName,TypeID from BType",Conn,1,1   '查询大类表,获取大类名和ID RecordCount=Rs.RecordCount If RecordCount>0 Then '定义一个数组,用来存放子类名 Redim BTypeArr(RecordCount-1) For i=0 To RecordCount-1   '查询每个大类所包含的小类名及小类的ID号 SqlStr="Select SubTypeID,SubTypeName From SubType Where TypeID=" & Rs("TypeID") Rs1.Open SqlStr,Conn 'BTypeArr(i)="<option value=''>选择小类</option>" While Not Rs1.Eof   '小类名及小类的ID号按下拉列表框的数据格式连接并放入数组 BTypeArr(i)=BTypeArr(i) & "<option value='" & Rs1("SubTypeID") & "'>" & Rs1("SubTypeName") & "</option>" Rs1.MoveNext Wend Rs1.Close %> <!--大类列表写入下拉列表框--> <option value="<%=Rs("TypeID")%>" tag=<%=i%>><%=Rs("TypeName")%></option> <% Rs.MoveNext Next End If Rs.Close %> </select> <select name="SubTypeID"> <option value="">选择小类</option> </select>

<!--生成脚本控制子类的动态改变--> <%If RecordCount>0 Then%> <script language="JavaScript"> //JavaScript中定义数组 var BTypeArr=new Array(); <% '将子类的数据写入数组 For i=0 To RecordCount-1 %> BTypeArr[<%=i%>]="<%=BTypeArr(i)%>"; <% Next %> <!--改变大类时显示子类的脚本函数--> function ShowSubType(Index) { document.frmSearch.SubTypeID.outerHTML="<select name='SubTypeID'><option value=''>选择小类</option>" + BTypeArr[Index] + "</select>"; } </script> <%End If%>


天津网站建设 http://www./
2004-07-13 19:18
only
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2004-6-23
得分:0 
感谢grief大哥! 我收藏下来慢慢看!

2004-07-14 13:17
ASP迷
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2004-7-22
得分:0 

  grief,你好!~

  小妹也是学ASP不久,但是很想学好它,

  对你的写的那个select中的一数组'BTypeArr(i)=" 还不是很理解,你很说清楚点吗

 


2004-07-22 22:24
silvermoon
Rank: 1
等 级:新手上路
帖 子:188
专家分:0
注 册:2004-8-20
得分:0 

好帖子,顶一下


我是一棵菠菜~~菜菜菜菜菜~~~
2004-12-21 00:52
aniude
Rank: 2
等 级:新手上路
威 望:3
帖 子:231
专家分:0
注 册:2004-11-3
得分:0 
不错不错!帮你顶

2004-12-21 01:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-3335-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.154100 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved