当前位置:w88优德官网网文章中心网站设计软件应用 → DW+ASP玩转动态二级菜单

DW+ASP玩转动态二级菜单

减小字体 增大字体 作者:admin  来源:www.hack50.com  发布时间:2012-5-20 7:16:45

本人比较B,不懂得怎么样用视频来解决,只好用我这个让人糊里糊涂的话来写了。

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


废话少说,切入正题了。

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

由于我用的表是ACCESS的,所以建表就不说了,只列出这个两个表的相应的字段名(数据库名:db.mdb):
表名:type_tree ――父类
字段:type_id(自动编号) type_name(类别名称)

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

现在是建立数据库连接:

Dim conn, connStrSet 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" >
<%
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生成,我看不太懂什么意思,所以不注解了:D
现在是菜单的二级部分,这里不是用跳转菜单,只是一个列表罢了,所以代码跟上面的跳转菜单也就差一个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>

到现在为止,已经将这个二级菜单的制过程做完了。

本文作者:

本文引用网址:
在下列搜索引擎中搜索“DW+ASP玩转动态二级菜单”的相关信息:
谷歌搜索 百度搜索 雅虎搜索 搜狗搜索 搜搜搜索 必应搜索 有道搜索
你可能还喜欢以下文章
  • 1华航空姐艳照门图片20P完整版 ...
  • 2女中学生遭同学扒光衣裤后凌辱...
  • 3干露露第二波艳照 干露露裸照全...
  • 4香港公园野战门qvod 朱韵蓓野战...
  • 5有钱人都开什么车?系数国内IT...
  • 1未注册双拼优德w88官网查询 未注册双拼...
  • 2百度联盟:哪些做法会被认为是...
  • 3开心网将上线14款应用 电子商务...
  • 4网络红人如何赚钱?我要成为网...
  • 5说说"电视棒"为什么卖得这么火...
  • 1中国女大学生的淫靡生活
  • 2林晨钰爆奶门视频qvod 林晨钰爆...
  • 3粉小狞是谁?粉小狞微博晒粉色...
  • 4武汉十七中教室门种子 教室门q...
  • 5一个脱衣舞女郎的一天
  • 1如何做服务器安全维护?有哪些...
  • 2Xen和虚拟化技术学习指南
  • 3Windows Server 2003 安全性指...
  • 4用Webmin和VSFTP搭建FTP服务器...
  • 5菜鸟入门之centos的文件夹权限...
  • 赞助商广告

    图片文章导读