| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 3710 人关注过本帖
标题:[求助]求做一个三级下拉列表框
收藏  订阅  推荐  打印
suyongtao
Rank: 12Rank: 12Rank: 12
等级:版主
威望:29
帖子:8462
积分:85520
注册:2004-11-6
[求助]求做一个三级下拉列表框

我找到了二级的,,就是一个产品发布系统的类别选择的下拉列表,一选定大类,小类自动被选,
我现在想要个三级的,就是选定大类小类自动出现所有属于这个大类的小类,然后在这里面选定小类以后,三级类别,所有属于这个小类的所以三级类被自动选定,类似小类的功能..
我现在把二级类的代码和函数公布一下,大家帮忙改一下..
2005-8-8 10:48
suyongtao
Rank: 12Rank: 12Rank: 12
等级:版主
威望:29
帖子:8462
积分:85520
注册:2004-11-6

var onecount; onecount=0; subcat = new Array(); <% count = 0 do while not rs.eof %> subcat[<%=count%>] = new Array("<%= trim(rs("sorts"))%>","<%= rs("categoryid")%>","<%= rs("sortsid")%>"); <% count = count + 1 rs.movenext loop rs.close %> onecount=<%=count%>;

function changelocation(locationid) { document.myform.sortsid.length = 0;

var locationid=locationid; var i; for (i=0;i < onecount; i++) { if (subcat[i][1] == locationid) { document.myform.sortsid.options[document.myform.sortsid.length] = new Option(subcat[i][0], subcat[i][2]); } } } <% rs.open "select * from category order by categoryorder",conn,1,1 if rs.eof and rs.bof then response.write "没有东西!" response.end else %> <select name="categoryid" size="1" id="categoryid" onChange="changelocation(document.myform.categoryid.options[document.myform.categoryid.selectedIndex].value)"> <option selected value="<%=rs("categoryid")%>"><%=trim(rs("category"))%></option> <% dim selclass selclass=rs("categoryid") rs.movenext do while not rs.eof %> <option value="<%=rs("categoryid")%>"><%=trim(rs("category"))%></option> <% rs.movenext loop end if rs.close %> </select> 所属小类 <select name="sortsid"> <% rs.open "select * from sorts where categoryid="&selclass ,conn,1,1 if not(rs.eof and rs.bof) then %> <option selected value="<%=rs("sortsid")%>"><%=rs("sorts")%></option> <% rs.movenext do while not rs.eof %> <option value="<%=rs("sortsid")%>"><%=rs("sorts")%></option> <% rs.movenext loop end if rs.close rs.open "select * from TimesProList",conn,1,1 %> </select> 大家帮忙改一下..


[GLOW=255,red,2] 我的C#群34769739 我的北京交友群1295648[/GLOW]
2005-8-8 10:51
suyongtao
Rank: 12Rank: 12Rank: 12
等级:版主
威望:29
帖子:8462
积分:85520
注册:2004-11-6

这是图片


[此贴子已经被作者于2005-8-8 10:58:45编辑过]


附件: 只有本站会员才能下载或查看附件,请您 登录注册

[GLOW=255,red,2] 我的C#群34769739 我的北京交友群1295648[/GLOW]
2005-8-8 10:57
islet
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:89
帖子:6553
积分:65834
注册:2005-1-28

java脚本不熟 要是纯asp的你也会做
2005-8-8 11:22
suyongtao
Rank: 12Rank: 12Rank: 12
等级:版主
威望:29
帖子:8462
积分:85520
注册:2004-11-6

汗,,那个客户不要.

[GLOW=255,red,2] 我的C#群34769739 我的北京交友群1295648[/GLOW]
2005-8-8 14:34
无根泉
Rank: 4
等级:高级会员
威望:3
帖子:850
积分:8848
注册:2004-11-4

你用ASP写一个,然后用
iframe弄过去,这样你不说谁知道呀,
我现在整二级互联就这样做!

我很菜,但我很努力!
2005-8-8 14:57
islet
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:89
帖子:6553
积分:65834
注册:2005-1-28

客户懂得挺多啊

石家庄的客户真牛 不去那混~!!
2005-8-8 15:18
islet
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:89
帖子:6553
积分:65834
注册:2005-1-28

[转载] <% set rs=server.createobject("adodb.recordset") rs.open"select * from class_two",conn,1,1 %> ‘---------以上是查询出第一级下拉列表的内容----- ’---------以下是用JS来控制程序-------------- <script language = "JavaScript"> var onecount; //定义onecount对像 onecount=0;//初始值为0 subcat = new Array(); //SUBCAT对像是一个新的数组 <% count = 0 '定义count对像初始值为0 do while not rs.eof '循环表头到表尾 %> subcat[<%=count%>] = new Array("<%=rs("class_two_text")%>","<%=trim(rs("class_one"))%>","<%=trim(rs("class_two"))%>"); //以上为重点内容,对像数组(subcat[count对像值])= 新数组内容('字段名0','字段名1','字段名2')记住要对应 <% count = count + 1 '循环count一次,COUNT的值加1 rs.movenext loop rs.close %> onecount=<%=count%>; function changelocation(locationid) { document.form.class_two.length = 0; var locationid=locationid; var i; for (i=0;i < onecount; i++) { if (subcat[1] == locationid) { document.form.class_two.options[document.form.class_two.length] = new Option(subcat[0], subcat[2]); } } } </script> <% set rs=server.CreateObject("adodb.recordset") rs.open "select * from Class_one" ,conn,1,1 if rs.eof then response.Write"暂无产品一类名称" else%> 产品一类 <select name="class_one" id="class_one" onChange="changelocation(document.form.class_one.options[document.form.class_one.selectedIndex].value)"> <%do while not rs.eof%> <option value="<%=rs("class_one")%>"><%=rs("class_one_text")%></option> <%rs.movenext loop end if %> </select> 产品二类 <select name="class_two" onChange="three(document.form.class_one.value,document.form.class_two.options[document.form.class_two.selectedIndex].value)"> <option value="请选择条件" selected>请选择条件</option> </select> <% set rs=server.createobject("adodb.recordset") rs.open"select * from class_three",conn,1,1 %> <script language = "JavaScript"> var twocount; twocount=0; subthree = new Array(); <% countb = 0 do while not rs.eof %> subthree[<%=countb%>] = new Array("<%=rs("class_three_text")%>","<%=trim(rs("class_one"))%>","<%=trim(rs("class_two"))%>","<%=trim(rs("class_three"))%>"); <% countb = countb + 1 rs.movenext loop rs.close %> twocount=<%=countb%>; function three(threeid,threeid2) { document.form.class_three.length = 0; var threeid=threeid; var threeid2=threeid2; var i; for (i=0;i < twocount; i++) { if ((subthree[1] == threeid) & (subthree[2] == threeid2)) { document.form.class_three.options[document.form.class_three.length] = new Option(subthree[0], [转自:飞腾设计网 www.feitec.com]subthree[3]); } } } </script> 产品三类 <select name="class_three" id="class_three"> <option value="0" selected>请选择条件</option> </select> [转自:飞腾设计网 www.feitec.com]
2005-8-8 15:23
suyongtao
Rank: 12Rank: 12Rank: 12
等级:版主
威望:29
帖子:8462
积分:85520
注册:2004-11-6

谢了,,哥们.

[GLOW=255,red,2] 我的C#群34769739 我的北京交友群1295648[/GLOW]
2005-8-8 15:48
yms123
Rank: 12Rank: 12Rank: 12
等级:版主
威望:72
帖子:7967
积分:81334
注册:2004-7-17

http://bbs.bc-cn.net/bbs/dispbbs.asp?BoardID=10&ID=24520 我这里写过现成的,这个JavaScript虽然是两级的但是。稍加更改就可以做成多级的,而且非常简单。

http://www.lxzhcn.net
临时域名:http://yms126.1.suhai.com.cn/
版块版主招募中
网站论坛发帖无问题,欢迎发帖。
2005-8-8 21:00
共有 3709 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.154018 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved