asp 二级联动菜单
各位高手,我是一个初学者,现在想制作一个二级联动菜单,比如说:有两个下拉菜单,一个下拉菜单是部门名称,另一个下拉菜单是对应部门下的人员名称,当点击部门名称时,另一个下拉菜...
各位高手,我是一个初学者,现在想制作一个二级联动菜单,比如说:有两个下拉菜单,一个下拉菜单是部门名称,另一个下拉菜单是对应部门下的人员名称,当点击部门名称时,另一个下拉菜单将显示对应部门下人员的名称。请各位高手祥细的讲解一下怎么做。我现在只有20分,各位高手讲解祥细,我将给10分。
展开
2个回答
展开全部
<script language = "JavaScript"> //js开始
var aaa;//定义aaa变量
aaa=0;//aaa赋0
bb = new Array();//创建bb动态数组
<%count = 0 '定义bb数组下标变量
do while not rs.eof%>//循环所有记录
bb[<%=count%>] = new Array("<%= trim(rs("xiaoleiname"))%>","<%= trim(rs("daleiname"))%>","<%= trim(rs("xiaoleiid"))%>");//将(小类名,大类名,小类id)作缓搭为一个数据存入bb动态数组,bb变为一个二维数组
<%count = count + 1'下标变量递增
rs.movenext'移到下一条数据库记录
loop'循环
rs.close'关闭查询
set rs=nothing%>//释放变量
aaa=<%=count%>;传递动态数组最大下标
function chang1(dalei)//根据大类名改变小类下拉内容的数哪亮函数
{
document.form1.xiaolei.length = 0; //清空小类下拉框内容
document.form1.xiaolei.disabled=false;//设置小类下拉框失效
var dalei=dalei;//这句个人认为没什么必要
var i;//定义循环用的下标变量
document.form1.xiaolei.options[0] = new Option('====行业名称====','');//给小类下拉框添加一个名称为“====行业名称====”的选项
for (i=0;i < aaa; i++)//开始循环
{
if (bb[i][1] == dalei)//根据大类名进行筛选
{
document.form1.xiaolei.options[document.form1.xiaolei.length] = new Option(bb[i][0], bb[i][0]);添加小类下拉框选项
}
}
if(document.form1.xiaolei.options.length==1)document.form1.xiaolei.disabled=true; //如果小类下拉框有选项,则恢复小类下拉框有效
}
</script>
<!--js程序完薯宽-->
<!--下面的只解释部分吧,太累-->
<body>
<form name="form1" action="search_save.asp" method="post"><!--表单开始-->
<select name="dalei" id="dalei" onChange="chang1(document.form1.dalei.options[document.form1.dalei.selectedIndex].value)">"><!--大类下拉框开始-->
<option value="">请选择行业范围</option><!--添加一个选项-->
<%sql="select * from hangyedalei"
set rs=server.createobject("ADODB.Recordset")
rs.open sql,conn,1,1
do while not rs.eof%>
<option value="<%=rs("daleiname")%>"><%=rs("daleiname")%></option><!--根据数据库查询结果添加全部大类进来-->
<%rs.movenext
loop
rs.Close
set rs=nothing%>
</select><!--大类下拉框结束-->
<select name="xiaolei"><!--自己应该看懂了吧-->
<option value="">请选择行业名称</option>
</select>
var aaa;//定义aaa变量
aaa=0;//aaa赋0
bb = new Array();//创建bb动态数组
<%count = 0 '定义bb数组下标变量
do while not rs.eof%>//循环所有记录
bb[<%=count%>] = new Array("<%= trim(rs("xiaoleiname"))%>","<%= trim(rs("daleiname"))%>","<%= trim(rs("xiaoleiid"))%>");//将(小类名,大类名,小类id)作缓搭为一个数据存入bb动态数组,bb变为一个二维数组
<%count = count + 1'下标变量递增
rs.movenext'移到下一条数据库记录
loop'循环
rs.close'关闭查询
set rs=nothing%>//释放变量
aaa=<%=count%>;传递动态数组最大下标
function chang1(dalei)//根据大类名改变小类下拉内容的数哪亮函数
{
document.form1.xiaolei.length = 0; //清空小类下拉框内容
document.form1.xiaolei.disabled=false;//设置小类下拉框失效
var dalei=dalei;//这句个人认为没什么必要
var i;//定义循环用的下标变量
document.form1.xiaolei.options[0] = new Option('====行业名称====','');//给小类下拉框添加一个名称为“====行业名称====”的选项
for (i=0;i < aaa; i++)//开始循环
{
if (bb[i][1] == dalei)//根据大类名进行筛选
{
document.form1.xiaolei.options[document.form1.xiaolei.length] = new Option(bb[i][0], bb[i][0]);添加小类下拉框选项
}
}
if(document.form1.xiaolei.options.length==1)document.form1.xiaolei.disabled=true; //如果小类下拉框有选项,则恢复小类下拉框有效
}
</script>
<!--js程序完薯宽-->
<!--下面的只解释部分吧,太累-->
<body>
<form name="form1" action="search_save.asp" method="post"><!--表单开始-->
<select name="dalei" id="dalei" onChange="chang1(document.form1.dalei.options[document.form1.dalei.selectedIndex].value)">"><!--大类下拉框开始-->
<option value="">请选择行业范围</option><!--添加一个选项-->
<%sql="select * from hangyedalei"
set rs=server.createobject("ADODB.Recordset")
rs.open sql,conn,1,1
do while not rs.eof%>
<option value="<%=rs("daleiname")%>"><%=rs("daleiname")%></option><!--根据数据库查询结果添加全部大类进来-->
<%rs.movenext
loop
rs.Close
set rs=nothing%>
</select><!--大类下拉框结束-->
<select name="xiaolei"><!--自己应该看懂了吧-->
<option value="">请选择行业名称</option>
</select>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询