|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。菜单|静态|二级菜单一样平常情形下这类情形是来对二级的目次有效,关于如今网站传播的JS很多多少种,但都无外乎那些令像我如许的菜鸟蒙头转向的JS代码。。一会儿for...一会儿array的。
空话少说,切进正题了。
起首得建一个表,固然,假如你的表中就已建好目次的话,那这一步能够省略了。但有一点要提示:这个表是我这个例子的利用根据(不晓得如许说对不合错误)。
因为我用的表是ACCESS的,以是建表就不说了,只列出这个两个表的响应的字段名(数据库名:db.mdb):
表名:type_tree――父类
字段:type_id(主动编号)type_name(种别称号)
表名:s_type――子类
字段:id(主动编号)s_name(子种别称号)type_id(父类ID)――与父类表绝对应
如今是创建数据库毗连:
Dimconn,connStrSetconn=server.CreateObject("ADODB.Connection")connStr="Provider=Microsoft.jet.oledb.4.0;"connStr=connStr&"DataSource="&server.mappath("db.mdb")Conn.OpenconnStr
以上代码应该不必再注释了吧,都是人人经常使用的代码。。
如今进进本色性的操纵:)
二级联系关系菜单一样平常情形下都是以下拉菜单来做,这里我也不破例,一样用下拉菜单来做。
只不外这里有一个中央纷歧样哦。
就是一个用的是跳转菜单,这一点很主要,乐成与否全看这个菜单有无用对!
以下是这个跳转菜单的代码!
<selectname="first"onChange="MM_jumpMenu(parent,this,0)">
<%
sql="select[type_id],[type_name]from[type_tree]"
setrs=conn.execute(sql)获得父类的ID及称号
ifrs.eoforrs.bofthen
response.write"<option>-----</option>"假如没有纪录,就显现-----
else
whilenot(rs.eoforrs.bof)有纪录,就将父称号列出来,构成下拉。
response.write("<optionvalue=?sec="&rs(0)&"")
ifcstr(rs(0))=request.querystring("sec")then
response.write"selected"
endif
response.write(">"&rs(1)&"</option>")
rs.movenext
wend
rs.movefirst将游标移到第一条,以备上面之用。
endif
%>
</select>
哦,对了,另有一段代码忘了贴出来了,这个是跳转菜音的关头啊,看我大意的!
补上补上:
<scriptlanguage="JavaScript"type="text/JavaScript">
<!--
functionMM_jumpMenu(targ,selObj,restore){//v3.0
eval(targ+".location="+selObj.options[selObj.selectedIndex].value+"");
if(restore)selObj.selectedIndex=0;
}
//-->
</script>
以上代码贴到<head>里,是DW天生,我看不太懂甚么意义,以是不注解了:D
如今是菜单的二级部分,这里不是用跳转菜单,只是一个列表而已,以是代码跟下面的跳转菜单也就差一个onchange这个函数。
以下是这个菜单的代码,因为轮回跟判别绝对下面来讲庞大一些,年夜伙要看分明一点哦。
<selectname="second">
<%ifrs.eoforrs.bofthen
response.write("<option>--------</option>")
else
ifrequest.querystring("sec")=""then猎取跳转以后的sec值
temp=rs(0)假如为空,就把temp的值设为第一笔记录的值
else
temp=request.querystring("sec")不然就为收到的值
endif
subsql="select[s_name]from[s_type]wheretype_id="&temp&""
setsubrs=conn.execute(subsql)列出统统材料为temp的纪录
ifsubrs.eoforsubrs.bofthen
response.write("<option>-----</option>")
假如没有纪录,则在这个列表中显现"-----"
else
whilenot(subrs.eoforsubrs.bof)不然就用轮回列出统统切合前提的纪录。
response.write("<optionvalue="&subrs(0)&">"&subrs(0)&"</option>")
subrs.movenext
wend
endif
endif
封闭一切的纪录集
subrs.close
setsubrs=nothing
rs.close
setrs=nothing
conn.close
setconn=nothing
%>
</select></p>写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们) |
|