asp多级菜单----数据库控制

根据网上一个静态的asp多级菜单更改,可扩展无限级别

其中数据库表menu字段分别为
id                              字段id
id1                           父id
menuname           字段名

例如           id     id1    menuname   其中0为第一级 
                  1       0       文学殿堂
                  2       1       中国文学
                  3       1       外国文学
                  3       2       古典文学
                  4       0       人文社科
             5     4    大讲堂
             6     4    法律法规
...............

页面效果如http://www.onsrs.com/asplian/

<!--#include file="conn.asp"-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>asp多级菜单----数据库控制</title>
<%dim count
set rs=server.createobject("adodb.recordset")
rs.open "select * from menu  ",conn,1,1%>

<script language="JavaScript" type="text/JavaScript" src="cs.js"></script>
<script language="JavaScript" type="text/JavaScript">
<!--
var aryPType = new Array();
<%
   count = 0
   do while not rs.eof
%>
aryPType[<%=count%>] = new TreeNode('<%= rs("id1")%>','<%= trim(rs("menuname"))%>','<%= rs("id")%>');
<%
        count = count + 1
        rs.movenext
        loop
        rs.close
  %>
  var countPType =<%=count%>;
-->
</script>
</head>
<body>
<form name="form1" method="post" action="">
  <select name="selP1" id="selP1" onChange="cs1.change(this)" subElement="selP2">
  </select>
  <select name="selP2" id="selP2" onChange="cs2.change(this)" subElement="selP3">
  </select>
  <select name="selP3" id="selP3" onChange="cs3.change(this)" subElement="selP4">
  </select>
  <select name="selP4" id="selP4" onChange="cs4.change(this)" subElement="selP5">
 </select>
  <select name="selP5" id="selP5" onChange="cs5.change(this)" subElement="selP6">
  </select>
  <select name="selP6" id="selP6">  <!--最多6级 -->
  </select>
  <br>
</form>
<script language="JavaScript" type="text/javascript">
<!--
cs1 = new CascadeSelect(document.form1.selP1, aryPType, '0');// 最顶层为0
cs2 = new CascadeSelect(document.form1.selP2, aryPType, document.form1.selP1.options[document.form1.selP1.selectedIndex].value);
cs3 = new CascadeSelect(document.form1.selP3, aryPType, document.form1.selP2.options[document.form1.selP2.selectedIndex].value);
cs4 = new CascadeSelect(document.form1.selP4, aryPType, document.form1.selP3.options[document.form1.selP3.selectedIndex].value);
cs5 = new CascadeSelect(document.form1.selP5, aryPType, document.form1.selP4.options[document.form1.selP4.selectedIndex].value);

-->
</script>
</body>
</html>
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ASP数据库 四级菜单联动 var m_oXMLDoc = new ActiveXObject("Microsoft.XMLDOM"); var m_sBaseSrc = "Tree.asp?ParentCode="; //源码爱好者(http://www.codefans.net) function BindSelect( strXMLSrc , objSelectName, defaultVal) { m_oXMLDoc.async = true; m_oXMLDoc.onreadystatechange = Function( "fnLoadComplete('" + objSelectName + "', '" + defaultVal + "');" ); m_oXMLDoc.load( strXMLSrc ); } function fnLoadComplete(objSelectName, defaultVal) { var objSelect = document.all[objSelectName]; var aryXMLNodes; var node; if (objSelect == null) return; try { var iReadyState = m_oXMLDoc.readyState; } catch(e) { return; } if( iReadyState != 4 ) return; if( m_oXMLDoc != null && m_oXMLDoc.xml != "" ) { objSelect.length = 0; aryXMLNodes = m_oXMLDoc.documentElement.selectNodes("TreeNode"); objSelect.options[0] = new Option("==全部=="); for (var i=0; i 1) { SetSelectedValue(objSelect, defaultVal) } if(objSelect.ChildSelectName != null) { objSelect.onchange = Function( "var val = this.options[this.selectedIndex].value;BindSelect(m_sBaseSrc+val, '"+objSelect.ChildSelectName+"', '"+defaultVal+"');if(val!='')document.all.MaterialClassCode.value=val;" ); objSelect.fireEvent("onchange"); } else { objSelect.onchange = Function( "var val = this.options[this.selectedIndex].value;if(val!='')document.all.MaterialClassCode.value=val;" ); } } } function InitSelect(defaultVal) { document.all.MaterialClassCode.value = ""; BindSelect( m_sBaseSrc + "00", "MaterialClass1", defaultVal); } function Equality(val1,val2) { if (val1.length < val2.length || val2 == "") return false; return (val1.substr(0,val2.length) == val2) } function SetSelectedValue(oSel,val) { if (val == null) return; for(var i=0; i<oSel.length; i++) { if (Equality(val, oSel.options[i].value)) { oSel.selectedIndex = i; if(oSel.ChildSelectName == null) oSel.fireEvent("onchange"); break; } } } window.onload = function(){InitSelect();}

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值