一张表单上有两个下拉框,第一个下拉框从数据库里取出所有的班级,第二个下拉框需要根据第一个下拉框所选择的班级而显示这个班级所有的成员 实践起来并不是很困难,主要是思路问题。参数传递,事件激发。form我就不说了,如果是web页的话,现在基本上浏览页面都是生成的静态页面,那要用上<IFRAME> 等框架标记来实现。把一个下拉列表框看成是一个嵌入的web页就好。这样速度快且上档次 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看看这个吧http://web.mblogger.cn/jamesfancy/posts/28200.aspx记得给分呀 动态刷新页面从数据库提取数据<select name="T1" onchange="javascript:window.location=(this.options[this.selectedIndex].value0)"><%String cl,temp0;String classes= request.getParameter("classes");String sql = "select classes from 表一";ResultSet rs=dbBean.executeQuery(sql);if(classes==null){while(rs.next()){ cl=rs.getString("classes"); temp0="./test.jsp?classes="+cl; out.print("<option value="+cl+" value0="+temp0+">"+cl+"</option>");}}else{while(rs.next()){ cl=rs.getString("classes"); temp0="./test.jsp?classes="+cl; if(classes.equals(cl)) { out.print("<option value="+cl+" value0="+temp0+" selected>"+cl+"</option>"); }else{ out.print("<option value="+cl+" value0="+temp0+">"+cl+"</option>"); }}}rs.close();%></select><select name="T2"><%if(classes==null){}else{sql = "select student from 表二 where classes='"+classes+"'";rs=dbBean.executeQuery(sql);while(rs.next()){ out.print("<option value="+rs.getString("student")+">"+rs.getString("student")+"</option>");}}rs.close();%></select> cvb114215(str_conn) 的代码有问题,谁来帮帮我啊 我的代码不知道哪里有问题,请大家帮忙<%@page contentType = "text/html;charset=gb2312"%><%@page language = "java" import = "sql.*,java.sql.*,java.util.*,java.io.*;"%><jsp:useBean id = "myUploadRecord" scope = "page" class = "sql.sqlbean"/><html><head><title></title></head><link href=css.css rel=STYLESHEET type=text/css><SCRIPT language="javascript"> function checkData (){ if (document.PW.FILE1.value.length == 0) { alert("作品不能为空") return false } if (document.PW.fileName.value.length == 0) { alert("作品标题不能为空") return false } if (document.PW.textarea.value.length == 0) { alert("作品简介不能为空") return false } if (document.PW.filedate.value >= 0 && document.PW.filedate.value <= 999) { return true } else{ alert("请确认有效期为 0-999 的数") return false } }</SCRIPT><body bgcolor="white" style="margin:0;"><br><br><br><form METHOD="POST" ACTION="shaDoUploadFile.jsp" NAME="PW" ENCTYPE="multipart/form-data" onSubmit="return checkData()"><table border="0" cellspacing="1" cellpadding="5" width="500" align=center bgcolor="#3A6EA5"> <tr bgcolor="#999999"><th colspan=2 style="color:white">上传作品</th><tr bgcolor="#ffffff"> <td bgcolor="#CCEDEC">作品 (系统将自动把图片宽度调整为700像素,高度不变)</td> <td bgcolor="#FFFFFF"><input TYPE="file" name="FILE1"></td></tr><tr bgcolor="#ffffff"><td bgcolor="#CCEDEC">作品名 (非空)</td><td bgcolor="#FFFFFF"><input TYPE="text" name="fileName"></td></tr><tr bgcolor="#ffffff"> <td bgcolor="#CCEDEC">作品类别</td> <td bgcolor="#FFFFFF"> <select name="select" id="select" onchange="javascript:window.location=(this.options[this.selectedIndex].value)" style="color: #000000; background-color: #FFFFFF"><% String category = request.getParameter("select"); String option = null; File file = null; ArrayList aList,inList; aList = myUploadRecord.executeQuery("select * from Category order by id asc"); if(category==null) { for(int i=0;i<aList.size();i++){ inList = (ArrayList)aList.get(i); option = (String)inList.get(1); out.print("<option value="+option+">"); out.print((String)inList.get(1)); out.print("</option>"); } } else{ for(int i=0;i<aList.size();i++){ inList = (ArrayList)aList.get(i); option = (String)inList.get(1); if(category.equals(option)) { out.print("<option value="+option+" selected>"+option+"</option>"); } else{ out.print("<option value="+option+">"+option+"</option>"); } } } //- 在下拉列表中添加选项时判断是否有相应的上传文件夹,如果没有建立 try{ file = new File("applications/DefaultWebApp/gh/pic/OriginFile/"+option); if(!file.exists()){ file.mkdir(); } } catch(Exception e){ out.print("上传文件夹建立失败!"); }%> </select></td></tr> <td bgcolor="#CCEDEC">作者</td> <td bgcolor="#FFFFFF"> <select name="select1" id="select1" style="color: #000000; background-color: #FFFFFF"><% if(category==null) { aList = myUploadRecord.executeQuery("select * from author_detail order by author_id desc"); for(int i=0;i<aList.size();i++){ inList = (ArrayList)aList.get(i); option = (String)inList.get(0)+"--"+(String)inList.get(1); out.print("<option value="+(String)inList.get(0)+">"); out.print(option); out.print("</option>"); } } else { aList = myUploadRecord.executeQuery("select * from author_detail where category='"+category+"' order by author_id desc"); for(int i=0;i<aList.size();i++){ inList = (ArrayList)aList.get(i); option = (String)inList.get(0)+"--"+(String)inList.get(1); out.print("<option value="+(String)inList.get(0)+">"); out.print(option); out.print("</option>"); } }%></select></td></tr><tr bgcolor="#ffffff"> <td bgcolor="#CCEDEC">有效期 (0-999,过期自动删除!)</td> <td bgcolor="#FFFFFF"><input type="text" name="filedate" size="3">天</td> </tr><tr bgcolor="#ffffff"> <td bgcolor="#CCEDEC">作品简介</td> <td bgcolor="#FFFFFF"><textarea name="textarea" cols="30" rows="5"></textarea></td></tr><tr bgcolor="#ffffff"><td bgcolor="#CCEDEC"></td><td bgcolor="#FFFFFF"><input TYPE="submit" value="确定上传"></td></tr></table></form></table><BR><p align="center"> <p></body></html> 方法一:javascript方法二:选择一次下拉框后就submit一次 用javascript实现:表一为class表二为student<script language = "JavaScript">var onecount;onecount=0;subcat = new Array(); <%int count = 0;rs = Conn.executeQuery("select * from student ");//读取数据while(rs.next()){%> subcat[<%=count%>] = new Array("<%=rs.getInt("studentName")%>","<%=rs.getInt("studentId")%>","<%=rs.getInt("classId")%>");//产生数组<% count = count ++;}%>onecount=<%=count%>; function load(ref) { form1.student.length = 0; form1.student.options[0] = new Option('选择学生',''); for (i=0;i < onecount; i++) { if (subcat[i][2] == ref.value) { form1.student.options[form1.student.length] = new Option(subcat[i][0], subcat[i][1]); } } } </script><!-- 下拉框代码--><form name="form1"><table> <tr> <td >请选择班级: </td> <td > <select name="class" onChange="load(form1.class)"> <option >请选择班级</option> <% rs = Conn.executeQuery("select * from class"); while(rs.next()) { %> <option value="<%=rs.getString("classID")%>"><%=rs.getString("className")%></option> <% } %> </select> </td> </tr> <tr> <td> <select name="student"> </select> </td> </tr></table></form> 这段代码有点问题,但我不知道错在哪里,请大家帮忙看看!<select name="T1" onchange="javascript:window.location=(this.options[this.selectedIndex].value0)"><%String cl,temp0;String classes= request.getParameter("classes");String sql = "select classes from 表一";ResultSet rs=dbBean.executeQuery(sql);if(classes==null){while(rs.next()){ cl=rs.getString("classes"); temp0="./test.jsp?classes="+cl; out.print("<option value="+cl+" value0="+temp0+">"+cl+"</option>");}}else{while(rs.next()){ cl=rs.getString("classes"); temp0="./test.jsp?classes="+cl; if(classes.equals(cl)) { out.print("<option value="+cl+" value0="+temp0+" selected>"+cl+"</option>"); }else{ out.print("<option value="+cl+" value0="+temp0+">"+cl+"</option>"); }}}rs.close();%></select><select name="T2"><%if(classes==null){}else{sql = "select student from 表二 where classes='"+classes+"'";rs=dbBean.executeQuery(sql);while(rs.next()){ out.print("<option value="+rs.getString("student")+">"+rs.getString("student")+"</option>");}}rs.close();%></select> Cookie的Iframe退出问题 MyEclips 出现异常 如何在TOMCAT里为一个WEB应用,创建2个数据库连接池? Hql查询,在页面取值问题... java研发工程师(TL) jsp中如何跳转到其他页面,急,在线等!!! JDBC连接Oracle问题:The network Adapter could not establish the connetion. 找在成都的在校大学生做项目 怎样用weblogic创建jsp服务器? 在Frame框架中,如何在topFrame中打印mainFrame的内容? JSP存取txt文件 求救:jstl不起作用...
http://web.mblogger.cn/jamesfancy/posts/28200.aspx
记得给分呀
<select name="T1" onchange="javascript:window.location=(this.options[this.selectedIndex].value0)">
<%
String cl,temp0;
String classes= request.getParameter("classes");
String sql = "select classes from 表一";
ResultSet rs=dbBean.executeQuery(sql);
if(classes==null)
{while(rs.next()){
cl=rs.getString("classes");
temp0="./test.jsp?classes="+cl;
out.print("<option value="+cl+" value0="+temp0+">"+cl+"</option>");
}
}else{
while(rs.next())
{
cl=rs.getString("classes");
temp0="./test.jsp?classes="+cl;
if(classes.equals(cl))
{
out.print("<option value="+cl+" value0="+temp0+" selected>"+cl+"</option>");
}else{
out.print("<option value="+cl+" value0="+temp0+">"+cl+"</option>");
}
}
}
rs.close();
%>
</select><select name="T2">
<%
if(classes==null)
{}else{
sql = "select student from 表二 where classes='"+classes+"'";
rs=dbBean.executeQuery(sql);
while(rs.next())
{
out.print("<option value="+rs.getString("student")+">"+rs.getString("student")+"</option>");
}
}
rs.close();
%>
</select>
<%@page contentType = "text/html;charset=gb2312"%>
<%@page language = "java" import = "sql.*,java.sql.*,java.util.*,java.io.*;"%>
<jsp:useBean id = "myUploadRecord" scope = "page" class = "sql.sqlbean"/>
<html><head><title></title></head><link href=css.css rel=STYLESHEET type=text/css><SCRIPT language="javascript">
function checkData (){
if (document.PW.FILE1.value.length == 0) {
alert("作品不能为空")
return false
}
if (document.PW.fileName.value.length == 0) {
alert("作品标题不能为空")
return false
}
if (document.PW.textarea.value.length == 0) {
alert("作品简介不能为空")
return false
}
if (document.PW.filedate.value >= 0 && document.PW.filedate.value <= 999) {
return true
}
else{
alert("请确认有效期为 0-999 的数")
return false
}
}</SCRIPT><body bgcolor="white" style="margin:0;">
<br><br><br>
<form METHOD="POST" ACTION="shaDoUploadFile.jsp" NAME="PW" ENCTYPE="multipart/form-data" onSubmit="return checkData()"><table border="0" cellspacing="1" cellpadding="5" width="500" align=center bgcolor="#3A6EA5">
<tr bgcolor="#999999"><th colspan=2 style="color:white">上传作品</th>
<tr bgcolor="#ffffff">
<td bgcolor="#CCEDEC">作品 (系统将自动把图片宽度调整为700像素,高度不变)</td>
<td bgcolor="#FFFFFF"><input TYPE="file" name="FILE1"></td></tr>
<tr bgcolor="#ffffff"><td bgcolor="#CCEDEC">作品名 (非空)</td>
<td bgcolor="#FFFFFF"><input TYPE="text" name="fileName"></td></tr>
<tr bgcolor="#ffffff">
<td bgcolor="#CCEDEC">作品类别</td>
<td bgcolor="#FFFFFF">
<select name="select" id="select" onchange="javascript:window.location=(this.options[this.selectedIndex].value)" style="color: #000000; background-color: #FFFFFF">
<%
String category = request.getParameter("select");
String option = null;
File file = null;
ArrayList aList,inList;
aList = myUploadRecord.executeQuery("select * from Category order by id asc");
if(category==null)
{
for(int i=0;i<aList.size();i++){
inList = (ArrayList)aList.get(i);
option = (String)inList.get(1);
out.print("<option value="+option+">");
out.print((String)inList.get(1));
out.print("</option>");
}
}
else{
for(int i=0;i<aList.size();i++){
inList = (ArrayList)aList.get(i);
option = (String)inList.get(1);
if(category.equals(option))
{
out.print("<option value="+option+" selected>"+option+"</option>");
}
else{
out.print("<option value="+option+">"+option+"</option>");
}
}
}
//- 在下拉列表中添加选项时判断是否有相应的上传文件夹,如果没有建立
try{
file = new File("applications/DefaultWebApp/gh/pic/OriginFile/"+option);
if(!file.exists()){
file.mkdir();
}
}
catch(Exception e){
out.print("上传文件夹建立失败!");
}
%>
</select></td></tr>
<td bgcolor="#CCEDEC">作者</td>
<td bgcolor="#FFFFFF">
<select name="select1" id="select1" style="color: #000000; background-color: #FFFFFF">
<%
if(category==null)
{
aList = myUploadRecord.executeQuery("select * from author_detail order by author_id desc");
for(int i=0;i<aList.size();i++){
inList = (ArrayList)aList.get(i);
option = (String)inList.get(0)+"--"+(String)inList.get(1);
out.print("<option value="+(String)inList.get(0)+">");
out.print(option);
out.print("</option>");
}
}
else
{
aList = myUploadRecord.executeQuery("select * from author_detail where category='"+category+"' order by author_id desc");
for(int i=0;i<aList.size();i++){
inList = (ArrayList)aList.get(i);
option = (String)inList.get(0)+"--"+(String)inList.get(1);
out.print("<option value="+(String)inList.get(0)+">");
out.print(option);
out.print("</option>");
}
}%>
</select></td></tr>
<tr bgcolor="#ffffff">
<td bgcolor="#CCEDEC">有效期 (0-999,过期自动删除!)</td>
<td bgcolor="#FFFFFF"><input type="text" name="filedate" size="3">天</td>
</tr>
<tr bgcolor="#ffffff">
<td bgcolor="#CCEDEC">作品简介</td>
<td bgcolor="#FFFFFF"><textarea name="textarea" cols="30" rows="5"></textarea></td>
</tr>
<tr bgcolor="#ffffff"><td bgcolor="#CCEDEC"></td>
<td bgcolor="#FFFFFF"><input TYPE="submit" value="确定上传"></td></tr>
</table>
</form>
</table><BR><p align="center">
<p></body>
</html>
方法二:选择一次下拉框后就submit一次
表二为student<script language = "JavaScript">
var onecount;
onecount=0;
subcat = new Array();
<%
int count = 0;
rs = Conn.executeQuery("select * from student ");//读取数据
while(rs.next())
{
%>
subcat[<%=count%>] = new Array("<%=rs.getInt("studentName")%>","<%=rs.getInt("studentId")%>","<%=rs.getInt("classId")%>");//产生数组
<%
count = count ++;
}
%>
onecount=<%=count%>;
function load(ref)
{
form1.student.length = 0;
form1.student.options[0] = new Option('选择学生','');
for (i=0;i < onecount; i++)
{
if (subcat[i][2] == ref.value)
{
form1.student.options[form1.student.length] = new Option(subcat[i][0], subcat[i][1]);
}
}
}
</script>
<!-- 下拉框代码-->
<form name="form1">
<table>
<tr>
<td >请选择班级:
</td>
<td >
<select name="class" onChange="load(form1.class)">
<option >请选择班级</option>
<%
rs = Conn.executeQuery("select * from class");
while(rs.next())
{
%>
<option value="<%=rs.getString("classID")%>"><%=rs.getString("className")%></option>
<%
}
%>
</select>
</td>
</tr> <tr>
<td>
<select name="student">
</select>
</td>
</tr>
</table>
</form>
<select name="T1" onchange="javascript:window.location=(this.options[this.selectedIndex].value0)">
<%
String cl,temp0;
String classes= request.getParameter("classes");
String sql = "select classes from 表一";
ResultSet rs=dbBean.executeQuery(sql);
if(classes==null)
{while(rs.next()){
cl=rs.getString("classes");
temp0="./test.jsp?classes="+cl;
out.print("<option value="+cl+" value0="+temp0+">"+cl+"</option>");
}
}else{
while(rs.next())
{
cl=rs.getString("classes");
temp0="./test.jsp?classes="+cl;
if(classes.equals(cl))
{
out.print("<option value="+cl+" value0="+temp0+" selected>"+cl+"</option>");
}else{
out.print("<option value="+cl+" value0="+temp0+">"+cl+"</option>");
}
}
}
rs.close();
%>
</select><select name="T2">
<%
if(classes==null)
{}else{
sql = "select student from 表二 where classes='"+classes+"'";
rs=dbBean.executeQuery(sql);
while(rs.next())
{
out.print("<option value="+rs.getString("student")+">"+rs.getString("student")+"</option>");
}
}
rs.close();
%>
</select>