本人比较B,不懂得怎么样用视频来解决,只好用我这个让人糊里糊涂的话来写了。
一般情况下这种情况是来对二级的目录有用,对于现在网站流传的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生成,我看不太懂什么意思,所以不注解了:D
出处:蓝色理想
责任编辑:帅青蛙
上一页 下一页 DW+ASP 玩转动态二级菜单 [2]
◎进入论坛网络编程版块参加讨论
|