网站首页 | 网页制作 | 网络编程 | 图形图象 | 冲浪宝典 | 操作系统 | 软件教学 | 网络安全 | 认证考试 | 下载中心 | 游戏下载
| 网页制作首页 | HTML/CSS | Dreamweaver | FrontPage | Javascript | DHTML | 心得技巧 | 网站运营 |
您现在的位置: 超人气学院 >> 网页制作 >> Dreamweaver >> 文章正文 用户登录 新用户注册
Dreamweaver+ASP制作动态二级菜单, Dreamweaver 教程           
Dreamweaver+ASP制作动态二级菜单, Dreamweaver 教程
作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-2 0:21:49
【摘 要】一般情况下这种情况是来对二级的目录有用,对于现在网站流传的JS好多种,但都无外乎那些令像我这样的菜鸟晕头转向的JS代码。

  一般情况下这种情况是来对二级的目录有用,对于现在网站流传的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>

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

[ 收藏此页到: 天天|和讯|博采|ViVi|狐摘|我摘|天极 ] 文章录入:kinda    责任编辑:kinda 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    专 题 栏 目
    最 新 热 门
     DreamweaverMX2004 多[338]
     用DW MX制作新闻公告系[203]
     Dreamweaver MX2004视[122]
     DW快捷键[119]
     DreamweaverMX2004 多[110]
     菜鸟学用DreamWeaver做[110]
     dddddddddddddddddd[109]
     下拉菜单全攻略-用Dre[92]
     Dreamweaver的使用[87]
     Dreamweaver MX中应用[84]
    相 关 文 章
    Dreamweaver实现文章内容页
    Dreamweaver中加入竖直线,
    Dreamweaver临时文件工作方
    用Dreamweaver+ASP实现分页
    Dreamweaver MX 2004一句话
    仿DW8代码折叠的HTML编辑器
    Dreamweaver使用的快捷、加
    Dreamweaver使用技巧小秘诀
    修改注册表--轻松解决Drea
    新手上路:常用CSS样式图文
    Dreamweaver批量制作网页,
    扩展 Dreamweaver:自定义
    用Dreamweaver自己动手制作
    使用Dreamweaver精细化你的
    Dreamweaver层的使用技巧,
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)