六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

DW+ASP 玩轉動態二級菜單

[摘要]一般情況下這種情況是來對二級的目錄有用,對于現在網站流傳的JS好多種,但都無外乎那些令像我這樣的菜鳥暈頭轉向的JS代碼。。一下子for...一下子array的。廢話少說,切入正題了。首先得建一個表,當然,如果你的表中就已經建好目錄的話,那這一步可以省略了。但有一點要提醒:這個表是我這個例子的使用依...
一般情況下這種情況是來對二級的目錄有用,對于現在網站流傳的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

現在是菜單的二級部分,這里不是用跳轉菜單,只是一個列表罷了,所以代碼跟上面的跳轉菜單也就差一個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>


到現在為止,已經將這個二級菜單的制過程做完了,很簡單的一個看把我給說的。
大家看不懂再說吧,反正我已經不知道該怎么說了。
高手們不吝賜教啊……





主站蜘蛛池模板: 日本老年人精品久久中文字幕 | 五月婷婷六月丁香激情 | 亚洲免费一| 我想看一级毛片免费的 | 青青青国产精品手机在线观看 | 日本污全彩肉肉无遮挡彩色 | 亚洲乱码国产一区网址 | 亚洲91在线视频 | 亚洲欧洲色天使日韩精品 | 天天拍久久 | 天天狠狠色综合图片区 | 欧美中文综合在线视频 | 亚洲成a人v欧美综合天堂麻豆 | 亚洲福利视频一区二区 | 日本午夜在线视频 | 亚洲日本欧美日韩高观看 | 四虎成人4hutv影院 | 青草娱乐视频 | 午夜影院福利 | 日本三级网络 | 唐朝豪放女在线观看 | 日本视频播放 | 日日摸日日碰 | 欧美在线观看一区 | 天天噜夜夜操 | 亚洲狠狠成人综合网 | 手机在线三级 | 偷拍久久网 | 婷婷色九月 | 欧美亚洲一区二区三区导航 | 亚洲女人国产香蕉久久精品 | 天天射夜夜操 | 影音先锋男人资源站 | 婷婷四房综合激情五月性色 | 青青在线视频免费看观看 | 婷婷性 | 中文字幕亚洲一区 | 三级理论手机在线观看视频 | 青青国产线免观看手机版精品 | 在线观看亚洲专区 | 日韩精品一区二区三区免费视频 |