首页 | 站长免费中心 | 新手上路 | 网站运营 | 网页制作 | 图片设计 | 动画设计 | 网页编程 | 网页特效 | 本站专题 | 虚拟主机 | 域名注册 | 网站建设 | 程序下载
       免费空间资源 | 新闻咨询 | 免费域名 | 免费网盘 | 网站推广 | 网站策划 | 建站经验 | 网站优化 | 网页代码 | 源码下载 | 音乐小偷 | 网络赚钱 | 论坛交流
网站建设
网站建设
虚拟主机
虚拟主机
域名注册
域名注册
711网络首页
站长工具
站长工具
网站源码
网站源码
站长论坛
站长论坛

 711网络 网页编程ASP代码

DW+ASP 玩转动态二级菜单

来源: 互联网    日期:2007-1-13 15:11:40
 

    一般情况下这种情况是来对二级的目录有用,对于现在网站流传的JS好多种,但都无外乎那些令像我这样的菜鸟晕头转向的JS代码。。一下子for...一下子array的。 [转自:711网络工作室 http://www.tc711.com]

    废话少说,切入正题了。 [转自:711网络工作室 http://www.tc711.com]

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

    由于我用的表是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生成,我看不太懂什么意思,所以不注解了: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 玩转动态二级菜单请到论坛查看: http://BBS.TC711.COM



【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】 来源: 互联网    日期:2007-1-13 15:11:40   

发 表 评 论
查看评论

  您的大名:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
认证编码: 刷新验证码
点评内容: 字数0
  精品推荐  
  本月推荐  
  友情赞助  

关于我们 | 联系我们 | 广告投放 | 留言反馈 | 免费程序 | 虚拟主机 | 网站建设 |  网站推广 |  google_sitemap baidu_sitemap RSS订阅
本站所有资源均来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会在最短的时间回复您
Copyright © 2005-2015 Tc711.Com All Rights Reserved 版权所有·711网络   蜀ICP备05021915号
110网监备案 信息产业备案 不良信息举报