我现在有两个下拉列表框,第一级是供选择部门的,第二级是供选择科室的。也就是当我选了某一个部门之后,在第二级列表框处就显示出这个部门包含的科室信息。
我写的代码如下:请各位高手帮帮忙,急用!<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.sql.*" %>
<%@ page import="device.bean.DBConnection" %>
<jsp:useBean id="db" class="device.bean.DBConnection" ></jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>设置实验信息</title>
<%
ResultSet rs = null;
String sql;
int count;
int count2;
try {
sql = "select OfficeId,DepartmentId,Name from Office order by OfficeId";
System.out.println(sql);
rs = db.executeQuery(sql);
%>
<script language="javascript" type="text/javascript">
var onecount;
onecount=0;
subcat=new Array();
<%
count=0;
while(rs.next()){
%>
subcat[<%=count%>]=new Array("<%=rs.getString("Name")%>","<%=rs.getInt("DepartmentId")%>","<%=rs.getInt("OfficeId")%>");
<%
count = count + 1 ;
%>
onecount=<%=count%>;
<%
}
}catch(Exception e){
e.printStackTrace();
}finally{
rs.close();
rs=null;
//db.closeDb();
}
%>
function changelocation(DepId){
document.myform.Office.length=0;
var DepId=DepId;
//alert("DepId="+DepId);
var i;
document.myform.Office.options[0]=new Option('==科室==','');
for(i=0;i<onecount;i++){
//subcat[i][1] = subcat[i][1].toString();
//alert("subcat[i][1]="+subcat[i][1]);
if (subcat[i][1] == DepId)//DepId+""作用为将整形DepId转化为字符串类型
{
document.myform.Office.options[document.myform.Office.length] =
new Option(subcat[i][0], subcat[i][2]);
}
}
}
</script>
</head>
<body>
<form id="myform" name="myform" method="post" action="">
<table width="500" border="1" align="center">
<tr>
<td colspan="3"><div align="center" class="STYLE1">设置实验室信息</div></td>
</tr>
<tr>
<td width="94">实验室编号:</td>
<td width="169"><input name="LabId" type="text" id="LabId" size="20" /></td>
<td width="215"> </td>
</tr>
<tr>
<td>实验室名称:</td>
<td><input name="LabName" type="text" id="LabName" size="20" /></td>
<td> </td>
</tr>
<tr>
<td>所属部门:</td>
<td><select name="Department" size="1" id="Department"
onChange="changelocation(document.myform.Department.options[document.myform.Department.selectedIndex].value)">
<option>选择部门</option>
<!--读取数据库中已有的部门-->
<%
ResultSet rs0 = null;
String sql0 = "";
int num = 1;
//String sql1 = "";
sql0 = "select DepartmentId,Name from Department order by DepartmentId ";
try{
rs0 = db.executeQuery(sql0);
while(rs0.next()){
String DepartmentId = rs0.getString("DepartmentId");
String DepartmentName = rs0.getString("Name");
//sql1 = "select OfficeId,Name from Office where DepartmentId='"+DepartmentId+"' order by OfficeId ";
%>
<option value="<%=DepartmentId%>"><%=DepartmentName%></option>
<%
num++;
}
}catch(Exception e){
e.printStackTrace();
}finally{
db.closeDb();
}
%>
</select></td>
<td><select name="Office" size="1" id="Office">
<option>选择科室</option>
</select></td>
</tr>
<tr>
<td><input type="submit" name="button" id="button" value="保存" />
<input type="reset" name="button2" id="button2" value="取消" /></td>
<td> </td>
<td> </td>
</tr>
</table>
</form>
</body>
</html>
我写的代码如下:请各位高手帮帮忙,急用!<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.sql.*" %>
<%@ page import="device.bean.DBConnection" %>
<jsp:useBean id="db" class="device.bean.DBConnection" ></jsp:useBean>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>设置实验信息</title>
<%
ResultSet rs = null;
String sql;
int count;
int count2;
try {
sql = "select OfficeId,DepartmentId,Name from Office order by OfficeId";
System.out.println(sql);
rs = db.executeQuery(sql);
%>
<script language="javascript" type="text/javascript">
var onecount;
onecount=0;
subcat=new Array();
<%
count=0;
while(rs.next()){
%>
subcat[<%=count%>]=new Array("<%=rs.getString("Name")%>","<%=rs.getInt("DepartmentId")%>","<%=rs.getInt("OfficeId")%>");
<%
count = count + 1 ;
%>
onecount=<%=count%>;
<%
}
}catch(Exception e){
e.printStackTrace();
}finally{
rs.close();
rs=null;
//db.closeDb();
}
%>
function changelocation(DepId){
document.myform.Office.length=0;
var DepId=DepId;
//alert("DepId="+DepId);
var i;
document.myform.Office.options[0]=new Option('==科室==','');
for(i=0;i<onecount;i++){
//subcat[i][1] = subcat[i][1].toString();
//alert("subcat[i][1]="+subcat[i][1]);
if (subcat[i][1] == DepId)//DepId+""作用为将整形DepId转化为字符串类型
{
document.myform.Office.options[document.myform.Office.length] =
new Option(subcat[i][0], subcat[i][2]);
}
}
}
</script>
</head>
<body>
<form id="myform" name="myform" method="post" action="">
<table width="500" border="1" align="center">
<tr>
<td colspan="3"><div align="center" class="STYLE1">设置实验室信息</div></td>
</tr>
<tr>
<td width="94">实验室编号:</td>
<td width="169"><input name="LabId" type="text" id="LabId" size="20" /></td>
<td width="215"> </td>
</tr>
<tr>
<td>实验室名称:</td>
<td><input name="LabName" type="text" id="LabName" size="20" /></td>
<td> </td>
</tr>
<tr>
<td>所属部门:</td>
<td><select name="Department" size="1" id="Department"
onChange="changelocation(document.myform.Department.options[document.myform.Department.selectedIndex].value)">
<option>选择部门</option>
<!--读取数据库中已有的部门-->
<%
ResultSet rs0 = null;
String sql0 = "";
int num = 1;
//String sql1 = "";
sql0 = "select DepartmentId,Name from Department order by DepartmentId ";
try{
rs0 = db.executeQuery(sql0);
while(rs0.next()){
String DepartmentId = rs0.getString("DepartmentId");
String DepartmentName = rs0.getString("Name");
//sql1 = "select OfficeId,Name from Office where DepartmentId='"+DepartmentId+"' order by OfficeId ";
%>
<option value="<%=DepartmentId%>"><%=DepartmentName%></option>
<%
num++;
}
}catch(Exception e){
e.printStackTrace();
}finally{
db.closeDb();
}
%>
</select></td>
<td><select name="Office" size="1" id="Office">
<option>选择科室</option>
</select></td>
</tr>
<tr>
<td><input type="submit" name="button" id="button" value="保存" />
<input type="reset" name="button2" id="button2" value="取消" /></td>
<td> </td>
<td> </td>
</tr>
</table>
</form>
</body>
</html>
你的subsat里面有值吗,我很怀疑,
jsp群号 :88159189
来吧咱们一起讨论一下, 有什么不会, 有什么不懂的,
一起想,一起看