求实例,从数据库里读出的三级联动菜单,是分别从三个表里读出来的
求实例,从数据库里读出的三级联动菜单,是分别从三个表里读出来的,我无从下手的。
你老是问这个问题,还想带实例的,不知道你怎么想的!你用的是什么类型的数据库,怎样取出数据库库中各表以及各表的字段.给你一段自己修改一下:
<%
set rs=server.createobject("adodb.recordset")
rs.open"select * from class_two",conn,1,1
'三级联动下拉列表[数据库版]
‘---------以上是查询出第一级下拉列表的内容-----
’---------以下是用JS来控制程序--------------
%>
<script language = "JavaScript">
var onecount; //定义onecount对像
onecount=0;//初始值为0
subcat = new Array(); //SUBCAT对像是一个新的数组
<%
count = 0 '定义count对像初始值为0
do while not rs.eof '循环表头到表尾
%>
subcat[<%=count%>] = new Array("<%=rs("class_two_text")%>","<%=trim(rs("class_one"))%>","<%=trim(rs("class_two"))%>");
//以上为重点内容,对像数组(subcat[count对像值])= 新数组内容('字段名0','字段名1','字段名2')记住要对应
<%
count = count + 1 '循环count一次,COUNT的值加1
rs.movenext
loop
rs.close
%>
onecount=<%=count%>;
function changelocation(locationid)
{
document.form.class_two.length = 0;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{
if (subcat[1] == locationid)
{
document.form.class_two.options[document.form.class_two.length] = new Option(subcat[0], subcat[2]);
}
}
}
</script>
<%
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from Class_one" ,conn,1,1
if rs.eof then
response.Write"暂无产品一类名称"
else%>
产品一类
<select name="class_one" id="class_one"
onChange="changelocation(document.form.class_one.options[document.form.class_one.selectedIndex].value)">
<%do while not rs.eof%>
<option value="<%=rs("class_one")%>"><%=rs("class_one_text")%></option>
<%rs.movenext
loop
end if
%>
</select>
产品二类
<select name="class_two"
onChange="three(document.form.class_one.value,document.form.class_two.options[document.form.class_two.selectedIndex].value)">
<option value="请选择条件" selected>请选择条件</option>
</select> <%
set rs=server.createobject("adodb.recordset")
rs.open"select * from class_three",conn,1,1
%> <script language = "JavaScript">
var twocount;
twocount=0;
subthree = new Array();
<%
countb = 0
do while not rs.eof
%>
subthree[<%=countb%>] = new
Array("<%=rs("class_three_text")%>","<%=trim(rs("class_one"))%>","<%=trim(rs("class_two"))%>","<%=trim(rs("class_three"))%>");
<%
countb = countb + 1
rs.movenext
loop
rs.close
%>
twocount=<%=countb%>;
function three(threeid,threeid2)
{
document.form.class_three.length = 0;
var threeid=threeid;
var threeid2=threeid2;
var i;
for (i=0;i < twocount; i++)
{
if ((subthree[1] == threeid) & (subthree[2] == threeid2))
{
document.form.class_three.options[document.form.class_three.length] = new Option(subthree[0],
subthree[3]);
}
}
}
</script>
产品三类
<select name="class_three" id="class_three">
<option value="0" selected>请选择条件</option>
</select>