问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

dreamweaver 怎么制作三级联动下拉菜单 ???(数据库MDB格式的)_百度知...

发布网友 发布时间:2022-05-07 11:15

我来回答

2个回答

热心网友 时间:2022-05-17 15:43

建议先不涉及数据库,不然会非常麻烦。先介绍一个二级下拉,然后可以自己拓展为*。

一般情况下这种情况是来对二级的目录有用,对于现在网站流传的JS好多种,但都无外乎那些令像我这样的菜鸟晕头转向的JS代码。。一下子for...一下子array的。

  首先得建一个表,当然,如果你的表中就已经建好目录的话,那这一步可以省略了。但有一点要提醒:这个表是我这个例子的使用依据(不知道这样说对不对)。

  由于我用的表是ACCESS的,所以建表就不说了,只列出这个两个表的相应的字段名(数据库名:db.mdb):

  表名:type_tree ——父类
  字段:type_id(自动编号) type_name(类别名称)

  表名:s_type ——子类
  字段:id(自动编号) s_name(子类别名称) type_id(父类ID)——与父类表相对应

  现在是建立数据库连接:

Dim conn, connStr

Set conn = server.CreateObject("ADODB.Connection")connStr = "Provider = Microsoft.jet.oledb.4.0;"connStr = connStr & "Data Source = " & server.mappath("db.mdb")Conn.Open connStr

  以上代码应当不用再解释了吧,都是大家常用的代码。。

  现在进入实质性的操作:)

  二级关联菜单一般情况下都是以下拉菜单来做,这里我也不例外,一样用下拉菜单来做。
只不过这里有一个地方不一样哦。

  就是一个用的是跳转菜单,这一点很重要,成功与否全看这个菜单有没有用对!以下是这个跳转菜单的代码!

<select name="first" onChange="MM_jumpMenu('parent',this,0)">
<%
sql = "select [type_id],[type_name] from [type_tree]"
set rs = conn.execute(sql)'取得父类的ID及名称
if rs.eof or rs.bof then
response.write "<option>-----</option>" '如果没有记录,就显示-----
else
while not(rs.eof or rs.bof) '有记录,就将父名称列出来,形成下拉。
response.write ("<option value='?sec=" & rs(0) & "'")
if cstr(rs(0)) = request.querystring("sec") then
response.write "selected"
end if
response.write (">" & rs(1) & "</option>")
rs.movenext
wend
rs.movefirst '将游标移到第一条,以备下面之用。
end if
%>
</select>

  哦,对了,还有一段代码忘了贴出来了,这个是跳转菜音的关键啊,看我粗心的!补上补上:

<script language="javascript" type="text/javascript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>

  以上代码贴到<head>里,是DW生成,我看不太懂什么意思,所以不注解了。现在是菜单的二级部分,这里不是用跳转菜单,只是一个列表罢了,所以代码跟上面的跳转菜单也就差一个onchange这个函数。

  以下是这个菜单的代码,由于循环跟判断相对上面来说复杂一些,大伙要看清楚一点哦。

<select name="second">

<%if rs.eof or rs.bof then
response.write ("<option>--------</option>")
else
if request.querystring("sec") = "" then '获取跳转之后的sec值
temp=rs(0) 如果为空,就把temp的值设为第一条记录的值
else
temp = request.querystring("sec") '否则就为收到的值
end if
subsql = "select [s_name] from [s_type] where type_id='"&temp&"'"
set subrs = conn.execute(subsql) '列出一切资料为temp的记录
if subrs.eof or subrs.bof then
response.write ("<option>-----</option>")
'如果没有记录,则在这个列表中显示"-----"
else
while not(subrs.eof or subrs.bof)'否则就用循环列出一切符合条件的记录。
response.write ("<option value=" & subrs(0) & ">" & subrs(0) & "</option>")
subrs.movenext
wend
end if
end if
'关闭所有的记录集
subrs.close
set subrs = nothing
rs.close
set rs = nothing
conn.close
set conn = nothing
%>
</select>

  到现在为止,已经将这个二级菜单的制过程做完了,很简单的一个看把我给说的。大家看不懂再说吧,反正我已经不知道该怎么说了。高手们不吝赐教啊。

热心网友 时间:2022-05-17 17:01

这里有一个多级联动下拉select菜单
还可以自己设置默认显示值
里面有代码可以参考

参考资料:http://www.blueidea.com/common/shoutbox/redir.asp?4=u&id=11685

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么一些男性喜欢要求伴侣叫自己爸爸? proteus8中怎么放置引脚标号 ...在proteus里不知道用什么表示?有没有什么proteus中专门的中英文对照... 甜蜜家园郑毅铭是什么身份 甜蜜家园第二季郑毅铭喜欢谁 瑞梦喜智能空调床垫适合人群 小孩可以用智能床垫吗 智能床垫适合哪些人用 我父亲今年59岁,有高血压和颈椎病的病史,最近一段时间感觉一躺下就偏... ...刚从医院治疗回来。我想买个枕头给他,不知买怎样的比较好?_百度知 ... 有什么正规的外汇平台吗 如何用dreamweaver8.0制作导航栏中的下拉菜单效果? 怎么让qq空间的动态出现在好友的动态里 隐藏后的qq好友动态如何再显示出来啊 QQ空间的好友动态怎样才能在桌面上显示出来? 为什么我的QQ老是被别人登录? QQ无缘无故被登,,是怎么回事? 梦见右手被一只猫抓的流血,什么意思?还望高人指点! 关于农民工社保缴纳的问题 关于中国农村留守空巢老人的社会养老保险三支柱模式探析 急!农民工养老保险问题? 当前农民工社会保险 关于农民工社保的问题 急需一篇关于《农民工社会保障问题》的提纲,要稍微详细点的~~~ 关于农民工社会保障的探讨的论文 小学生日记400字,是日记,不是作文。要是暑假发生的事 小学生日记400字!快快快快快!!!急 小学生日记400字,写事的 小学生:日记400字至450字:家常 小学生日记400字以上 椅子腿用书面语怎么说? Dw网页设计下拉菜单怎么做?64位win7系统能做动态网页么?怎么做? dreamweaver如何制作浮动菜单? DW制作网页如何下手,我要先做什么?导航条想设计好看一点,请给个建议? 如何用dw2004制作下拉菜单而不让ie出现保护??网页设计达人帮忙啊! 戒烟后睡不着 我戒烟5个月了!就在这几天比一开始刚戒烟的时候还难受怎么回事啊?难受的晚上都睡不着 proe和solidworks哪个好 遥控器失灵了 戒烟第五天整晚睡不着怎么办 58婚恋 这个交友平台是免费的吗 戒烟半年多晚上睡觉经常失眠,这半个月好像严重了,每. solidworks和proe的区别 pro/e和soldworks这两个绘图软件哪个好? PROE UG 和SW 这三个软件在出工程图时有什么区别? 为什么华为手机如何设置来电人的头像点不开来了 郑莹佳变形计后怎样了 《变形计》中的农村孩子惨遭城市爸爸拉黑,拍节目能拍出真实感情吗? 郑佳莹的爸爸干啥的 俄罗斯为什么将会开玩笑机器人“费多尔”放入飞船内? 孔子说:&quot;不得中行而与之,必也狂狷乎,狂者进取,狷者有所不为也&quot;这句话具体是什么意思?