求助一个二级联动菜单的问题

Yjanuary 2011-11-30 06:08:55
各位高手,小弟在做二级联动菜单的时候遇到一个问题,请大家帮忙下啊
<script language = "JavaScript">
var onecount;
subcat = new Array();
<%
count = 0
do while not rs.eof
%>
subcat[<%=count%>] = new Array("<%= trim(rs("SmallClassName"))%>","<%= trim(rs("BigClassName"))%>","<%= trim(rs("SmallClassName"))%>");
<%
count = count + 1
rs.movenext
loop
rs.close
%>
onecount=<%=count%>;

function changelocation(locationid)
{
document.myform.SmallClassName.length = 1;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{
if (subcat[i][1] == locationid)
{
document.myform.SmallClassName.options[document.myform.SmallClassName.length] = new Option(subcat[i][0], subcat[i][2]);
}
}
}
</script>
<%
sql = "select * from BigClass"
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write "请先添加栏目。"
else
%>
<select name="BigClassName" onChange="changelocation(document.myform.BigClassName.options[document.myform.BigClassName.selectedIndex].value)" size="1">
<option selected value="<%=trim(rs("BigClassName"))%>"><%=trim(rs("BigClassName"))%></option>
<%
dim selclass
selclass=rs("BigClassName")
rs.movenext
do while not rs.eof
%>
<option value="<%=trim(rs("BigClassName"))%>"><%=trim(rs("BigClassName"))%></option>
<%
rs.movenext
loop
end if
rs.close
%>
</select>
<select name="SmallClassName">
<%
sql="select * from SmallClass where BigClassName='" & selclass & "'"
rs.open sql,conn,1,1
if not(rs.eof and rs.bof) then
%>
<option value="<%=rs("SmallClassName")%>"><%=rs("SmallClassName")%></option>
<% rs.movenext
do while not rs.eof%>
<option value="<%=rs("SmallClassName")%>"><%=rs("SmallClassName")%></option>
<%
rs.movenext
loop
end if
rs.close
%>
</select>
现在出现的情况是
刚进去没问题
但是一旦一级菜单选择后,二级菜单也联动了,就是会多出一行初始页面中一级菜单中对应的一个选项

一级菜单 二级菜单
整车 车一
车二
零部件 部件一
部件二
部件三

初始是 整车 车一
但是,我如果选择了零部件 就变成了
零部件 车一
部件一
部件二
部件三
在回选到整车。就变成了
整车 车一
车一
车二
奇怪,该怎么解决啊
...全文
96 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2011-11-30
  • 打赏
  • 举报
回复

function changelocation(locationid)
{
document.myform.SmallClassName.options.length = 0;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{
if (subcat[i][1] == locationid)
{
document.myform.SmallClassName.options.add(new Option(subcat[i][0], subcat[i][2]));
}
}
}
Yjanuary 2011-11-30
  • 打赏
  • 举报
回复
感谢楼上的,搞定了,多谢了
三楼の郎 2011-11-30
  • 打赏
  • 举报
回复
document.myform.SmallClassName.length = 1;
改成
document.myform.SmallClassName.length = 0;

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧