本人比較B,不懂得怎么樣用視頻來解決,只好用我這個(gè)讓人糊里糊涂的話來寫了。
一般情況下這種情況是來對(duì)二級(jí)的目錄有用,對(duì)于現(xiàn)在網(wǎng)站流傳的JS好多種,但都無外乎那些令像我這樣的菜鳥暈頭轉(zhuǎn)向的JS代碼。。一下子for...一下子array的。 廢話少說,切入正題了。
首先得建一個(gè)表,當(dāng)然,如果你的表中就已經(jīng)建好目錄的話,那這一步可以省略了。但有一點(diǎn)要提醒:這個(gè)表是我這個(gè)例子的使用依據(jù)(不知道這樣說對(duì)不對(duì))。
由于我用的表是ACCESS的,所以建表就不說了,只列出這個(gè)兩個(gè)表的相應(yīng)的字段名(數(shù)據(jù)庫名:db.mdb): 表名:type_tree ——父類 字段:type_id(自動(dòng)編號(hào)) type_name(類別名稱)
表名:s_type ——子類 字段:id(自動(dòng)編號(hào)) s_name(子類別名稱) type_id(父類ID)——與父類表相對(duì)應(yīng)
現(xiàn)在是建立數(shù)據(jù)庫連接:
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 以上代碼應(yīng)當(dāng)不用再解釋了吧,都是大家常用的代碼。。
現(xiàn)在進(jìn)入實(shí)質(zhì)性的操作:) 二級(jí)關(guān)聯(lián)菜單一般情況下都是以下拉菜單來做,這里我也不例外,一樣用下拉菜單來做。 只不過這里有一個(gè)地方不一樣哦。 就是一個(gè)用的是跳轉(zhuǎn)菜單,這一點(diǎn)很重要,成功與否全看這個(gè)菜單有沒有用對(duì)! 以下是這個(gè)跳轉(zhuǎn)菜單的代碼! <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 '將游標(biāo)移到第一條,以備下面之用。 end if %> </select>
哦,對(duì)了,還有一段代碼忘了貼出來了,這個(gè)是跳轉(zhuǎn)菜單的關(guān)鍵啊,看我粗心的! 補(bǔ)上補(bǔ)上: <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
出處:藍(lán)色理想
責(zé)任編輯:帥青蛙
上一頁 下一頁 DW+ASP 玩轉(zhuǎn)動(dòng)態(tài)二級(jí)菜單 [2]
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|