实践起来并不是很困难,主要是思路问题。参数传递,事件激发。form我就不说了,如果是web页的话,现在基本上浏览页面都是生成的静态页面,那要用上<IFRAME> 等框架标记来实现。把一个下拉列表框看成是一个嵌入的web页就好。这样速度快且上档次

解决方案 »

  1.   

    看看这个吧
    http://web.mblogger.cn/jamesfancy/posts/28200.aspx
    记得给分呀
      

  2.   

    动态刷新页面从数据库提取数据
    <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>
      

  3.   

    cvb114215(str_conn) 的代码有问题,谁来帮帮我啊
      

  4.   

    我的代码不知道哪里有问题,请大家帮忙
    <%@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">&nbsp;
    <p></body>
    </html>
      

  5.   

    方法一:javascript
    方法二:选择一次下拉框后就submit一次
      

  6.   

    用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>
      

  7.   

    这段代码有点问题,但我不知道错在哪里,请大家帮忙看看!
    <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>