Posted on 2006-10-17 09:44
小傻 阅读(1110)
评论(1) 编辑 收藏 所属分类:
jsp
<script language="JavaScript">
var onecount;
onecount=0;
subcat =new Array();
// 建立数组
<%
int count;
String sql0="select * from class ";
ResultSet rs0=RegisterBean.executeQuery(sql0); //打开数据库,这里我用的是javabean链接JDBC的方法
count=0;
while(rs0.next())
{
%> 小类ID 小类名字 大类ID
subcat[<%=count%>] = new Array("<%=rs0.getString(1)%>","<%=rs0.getString(2)%>","<%=rs0.getString(3)%>"); //给数组赋值,其中rs0.getString(1)代表第1字段,这里不要搞错字段哦
<%
count=count+1;
}
rs0.close();
%>
onecount=<%=count%>;
function changelocation(id) //实现函数
{
document.myform.classid.length = 0;
var id=id;
var i;//如果i从1循环那么记录中第1行的信息就看不到了
for (i=0;i<onecount; i++) //从数组的第1行算起 查找id ,这里的id是你大类的id(下面有我的数组例子)
{
if (subcat[i][2] ==id) //第一次循环从第1行,第3列,那1列是大类ID
{
document.myform.classid.options[document.myform.classid.length] = new Option(subcat[i][1], subcat[i][0]); //导出数组,导出小类名称和小类ID
}
}
}
</script>
<form name="myform" method="post" action="#">
<select name="categoryid" style="font-size:14px; width:100px;" size="8" onChange="changelocation(document.myform.categoryid.options[document.myform.categoryid.selectedIndex].value);">
<%
String sql1="select * from category ";
ResultSet rs1=RegisterBean.executeQuery(sql1);
while(rs1.next())
{
%>
<option value="<%=rs1.getInt(1)%>"><%=rs1.getString(2)%></option>
<%
}
rs1.close();
%>
</select>
<select name="classid" style="font-size:14px;width:100px" size="8">
</select>
例子
0 1 2
chassid classname categoryid
小类ID 小类名字 大类ID
备注: 搞清出javascript如何实现很重要