回 帖 发 新 帖 刷新版面

主题:DW+ASP 玩转动态二级菜单 的问题

数据库连接:

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="n" 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>            
<select name="n2">
<%if rs.eof or rs.bof then
response.write ("<option>--------</option>")
else
if request.querystring("sec") = "" then   '获取跳转之后的sec值
   temp=rs(0) 
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>
请大家指点啊,我在写入库的时候,一级分类写进的东西是(?sec=ID)二级分类写进的则是分类名,不会写几ID,请问该怎么解决呢

回复列表 (共4个回复)

沙发


response.write ("<option value='?sec=" & rs(0) & "'")

一级分类 你的代码这样写的,当然这样执行了!

改为:response.write ("<option value='" & rs(0) & "'")

response.write ("<option value=" & subrs(0) & ">" & subrs(0) & "</option>")

同理二级分类也上这种情况!

板凳

谢谢tianyu123指点,但是代码按上改了后,按F12上传网页后,出现[Microsoft VBscript 运行时错误'800a000d'类型不匹配:'subrs'/htdocs/canzhuoluntan/addmesg0.asp,行66]
请再次指点,将万分感谢。

3 楼


行66?

指的是那行?

4 楼

行66
response.write ("<option value=" & subrs(0) & ">" & subrs(0) & "</option>")

我来回复

您尚未登录,请登录后再回复。点此登录或注册