可以将两个select 中的数据均使用一个带表单的提交事件来完成,比如第一个select是选择部门(deptid=request("deptid")),第二个select 是选择该部门下所使用的资源("select * from resource where deptid="+deptid),每当其中一个select的改变事件发生时均提交到表单的action中,同时要注意一定要对select列表的选项定位,即两个select中当前用户选中哪一个selected,最后表格中的数据是由第二个select中选择的数据在一定条件下填入的。这中间必须传递两个与select相关联的request所需要的变量,我们是在JSP中使用上述方法来作的,基本上能够满足要求。

解决方案 »

  1.   

    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.sql.*,com.codestudio.sql.*,com.zfl.data.*"%>
    <%!
         //页面样式表文件的路径
    private static final String STYLESHEETPATH = "/inside/inc/1/main.css";
    ////////////////////////(列表页面的表格样式配置)///////////////////////////
    //表格配置
    private static final String TABLESTYLE_LIST = "style=\"font-size: 9pt\" " +
            "bgcolor=\"#FFFFFF\" bordercolor=\"#000000\" border=\"1\" " +
            "cellspacing=\"0\" bordercolordark=\"#FFFFFF\" bordercolorlight=\"#FFFFFF\" ";
    %>
    <%
    response.setHeader("Cache-Control","no-store");
    response.setHeader("Pragma","no-cache");
    response.setDateHeader("Expires",0);
    String dwid=request.getParameter("dwid");
    String tableid=request.getParameter("tableid");
    Linkdb db=new Linkdb();
    db.Link("MIS_TJ");
    ResultSet rs=null;
    if (dwid==null)
    {
     rs=db.executeQuery("select top 1 * from sys_dept where fjdid=0 order by id");
     if (rs.next()) dwid=Integer.toString(rs.getInt(1)); else dwid="1";
     rs.close();
     }
     if (tableid==null) {
      rs=db.executeQuery("select top 1 *  from sys_table where dbo.exist_dwtab("+dwid+",id)=1");
      if (rs.next()) tableid=Integer.toString(rs.getInt(1)); else tableid="1";
      rs.close();
     }
    %>
    <script language="JavaScript">
    {
    var curtabletype;
    curtabletype=1;function isNumber(s,k){
      var i;
      if (s.length==0)
      {
       if (k==1) 
       {alert("定制年份不能为空!");
        document.all("tjyear").focus();
    }
       else {alert("定制月份不能为空!");
        document.all("tjsd").focus();
    }
       return false;
       }
      for(i=0;i<s.length;i++)
       if (s.charAt(i)<'0'||s.charAt(i)>'9') 
       { 
         if (k==1) alert('请在定制年份中输入数值型数据');
     else alert('请在定制月份中输入数值型的数据');
     return false; 
        }
    return true;
      }
    function valid()
    {
     if (isNumber(document.all("tjyear").value,1)&&isNumber(document.all("tjsd").value,2)) return true;else return false;
     }
    function change()
    {
      form1.submit();
     return false;
    }
    }
    </script>
    <html>
    <head>
    <title>单位指标定制</title>
    <LINK href="<%=STYLESHEETPATH%>" rel="stylesheet">
    </head>
    <body leftMargin=0 topMargin=0>
    <form name="form1" method="post" action="dwzb_step_1.jsp">
      <table width="95%" border="0" class="TitleTr">
        <tr> 
          <td class="TableHead1" colspan="10"> <div align="center"><font color="white">指标=>></font><font color="blue">指标转入单位</font><font color="white">=>>单位指标定制</font></div></td>
        </tr>
        <tr > 
          <td height="126" colspan="10" align="center"> 
            <table width="99%" border="0">
              <tr>
                <td colspan="7" class="TableHead1"><table width="100%" border="0">
                    <tr> 
                      <td width="122">选择单位</td>
                      <% 
      rs=db.executeQuery("select  * from sys_dept where fjdid=0 order by id");
      %>
                      <td width="208"><select name="dwid" id="dwid" style="width:180px;" size="1" onChange="change();">
                          <%while (rs.next()) {%>
                          <option value="<%=rs.getInt(1)%>" <% if (rs.getInt(1)==Integer.parseInt(dwid)) out.print("selected");%>><%=rs.getString(3)%></option>
                          <%}%>
                        </select></td>
                      <td>表性质 
                        <input type="radio" name="tabletype1" value="1" disabled=true>
                        年表 
                        <input type="radio" name="tabletype2" value="2" disabled=true>
                        月表 
                        <input type="radio" name="tabletype3" value="3" disabled=true>
                        季表</label> </td>
                      <td><input name="button" type="button" class="Button" onclick="window.open('dwzb_step_view.jsp?tableid=<%=tableid%>&dwid=<%=dwid%>','','height=200, width=510, top=200, left=200, toolbar=no, menubar=no, scrollbars=no, resizable=yes,location=no, status=no');
    return false;" value="查看指标使用"></td>
                    </tr>
                    <tr> 
                      <td> 选择指标表 
                        <%
       rs.close();
       rs=db.executeQuery("select *  from sys_table where dbo.exist_dwtab("+dwid+",id)=1");
      %>
                      </td>
                      <td><select name="tableid" onChange="change();" id="tableid" style="width:180px;" size="1">
                          <% while (rs.next()) {%>
                          <option value="<%=rs.getInt(1)%>" <% if (rs.getInt(1)==Integer.parseInt(tableid)) out.print("selected");%>><%=rs.getString(3)%></option>
                          <%if (rs.getInt(1)==Integer.parseInt(tableid)) {%>
                          <script language="JavaScript">{ curtabletype=<%=rs.getInt("TYPE")%>;}
    </script>
                          <%;}%>
                          <%;}%>
                        </select></td>
                      <td width="171">定制年份 
                        <input name="tjyear" type="text" size="8"></td>
                      <td width="276">定制月份 
                        <input name="tjsd" type="text" size="8"></td>
                    </tr>
                  </table></td>
              </tr>
              <tr> 
                <td colspan="7" class="TableHead1">系统定制该表的指标信息如下表,用户可键入转入复制为本单位定制某一时段的指标</td>
              </tr>
              <tr> 
                <td width="3%" class="TableHead1">&nbsp;</td>
                <td width="15%" class="TableHead1">指标名称</td>
                <td width="11%" class="TableHead1">指标单位</td>
                <td width="11%" class="TableHead1">子项单位</td>
                <td width="15%" class="TableHead1">母项单位</td>
                <td width="17%" class="TableHead1">指标类型</td>
                <td width="28%" class="TableHead1">指标系数(1或100)</td>
              </tr>
              <%
          rs.close();
          rs=db.executeQuery("select * from SYS_ZB where tableid="+request.getParameter("tableid"));
      while (rs.next()) {%>
              <tr> 
                <td width="3%" class="TableRow1"> <input type="checkbox" name="checkbox" value="checkbox"> 
                </td>
                <td width="15%" class="TableRow1"><%=rs.getString(2)%></td>
                <td width="11%" class="TableRow1"><%=rs.getString(3)%></td>
                <td width="11%" class="TableRow1"><%=rs.getString(4)%></td>
                <td width="15%" class="TableRow1"><%=rs.getString(5)%></td>
                <td width="17%" class="TableRow1"><%=rs.getString(6)%></td>
                <td width="28%" class="TableRow1"><%=rs.getString(7)%></td>
              </tr>
              <%;}%>
            </table></td>
        </tr>
        <tr> 
          <td colspan="10" align="center"> </td>
        </tr>
        <tr> 
          <td colspan="10" align="center"><a onclick="if (valid()==true)  { document.all('hiddenframe').src='dw_zb_copy.jsp?dwid=<%=dwid%>&tableid=<%=tableid%>&tjyear='+tjyear.value+'&tjsd='+tjsd.value;
         return false;}; else return false;" href=""><font color="blue">转入复制</font></a> 
            &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; 
            &nbsp;&nbsp;&nbsp;&nbsp;<a onclick="location.href='dwzb_step_2.jsp?dwid=<%=dwid%>&tableid=<%=tableid%>';return false;" href=""><font color="blue"> 
            下一步</font></a></td>
        </tr>
        <tr> 
          <td colspan="5">&nbsp;</td>
          <td colspan="5">&nbsp;</td>
        </tr>
      </table>
      <script language="JavaScript">
      {if (curtabletype=="1")    document.all("tabletype1").checked=true;
      if (curtabletype=="2")    document.all("tabletype2").checked=true;
      if (curtabletype=="3")    document.all("tabletype3").checked=true;
      }
      </script>
     <iframe id="hiddenframe" name="hiddenframe" style="width:1px;height:1px;display:none;" src></iframe>
    </form>
    </body>
    <%
     rs.close();
     db.closeConn();
    %>
    </html>
      

  2.   

    http://expert.csdn.net/Expert/topic/2537/2537402.xml?temp=.3686945
    下载:http://www.ymdg.com/s4.rar
    我做的四级连动完美版,access数据库,速度非常快!!!
    两个小文件总共代码一共不超过80行!9万条记录运行如飞!!
    我敢说csdn里面高性能数据库下拉列表我的代码最短!
    完全vbs,无特殊组件