当第一个SELECT 失去焦点时执行数据库查讯代码并显示.

解决方案 »

  1.   

    建议上这就看看,我以前做过的
    http://blog.csdn.net/jiqimiao/archive/2007/04/26/1585665.aspx
      

  2.   

    我原先代码如下,不能实现啊。还有我xml不懂的
    <form id="myform" name="myform" method="post" action="">
          <label><br />
          <br />
          学期:      </label> 
      <br>
        <select  name="term" id="term" onchange="selectCourse();">
      <option value=""></option>
          <option value="2003/2004(1)">2003/2004(1)</option>
          <option value="2003/2004(2)">2003/2004(2)</option>
          <option value="2004/2005(1)">2004/2005(1)</option>
          <option value="2004/2005(2)">2004/2005(2)</option>
          <option value="2005/2006(1)">2005/2006(1)</option>
          <option value="2005/2006(2)">2005/2006(2)</option>
          <option value="2006/2007(1)">2006/2007(1)</option>
          <option value="2006/2007(2)">2006/2007(2)</option>
          <option value="2007/2008(1)">2007/2008(1)</option>
          <option value="2007/2008(2)">2007/2008(2)</option>
          <option value="2008/2009(1)">2008/2009(1)</option>
          <option value="2008/2009(2)">2008/2009(2)</option>
            </select>
      <p>课程:<br>
        <select  name="course" id="course" >
    <option value=""></option>
          </select>     
      <label></label>
    </form>      </td>
      </tr>
      <tr>
        <td height="180" bgcolor="#CCFFFF"></td>
      </tr>
      <tr>
        <td height="19" bgcolor="#CCFFFF"></td>
      </tr>
    </table>
    <script language="javascript"> 
    function selectCourse()
    {
    <%
    String term="2003/2004(1)";
    Connection com;
    Statement ppp;
    ResultSet js;
    try{
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        }
    catch(ClassNotFoundException e){}
    com=DriverManager.getConnection("jdbc:odbc:sun","sa","");
    ppp=com.createStatement();
    String well="select Cname from course,report_card WHERE course.Cno=report_card.cno and report_card.term="+"'"+term+"'";
    js=ppp.executeQuery(well);
    %>
    var onecount; 
    onecount=0; 
    var subcat = new Array(); 
            <% 
            int count = 0; 
            while(js.next()){ 
            %> 
    subcat[<%=count%>] = "<%=js.getString("Sname")%>"; 
            <% 
            count++; 
            } 
            js.close(); 
            %> 
    onecount=<%=count%>;
      document.myform.course.length=0;
      var selectContent=document.createElement("option");   
          selectContent.text="所有课程";   
          selectContent.value ="所有课程";   
          document.myform.course.add(selectContent);
      var content;
      for(var i=0;i<onecount;i++)
     {
        content=document.createElement("option");   
            content.text=subcat[i];   
            content.value=subcat[i];   
            document.myform.course.add(content);
         }
     } 
     </script>
      

  3.   

    如果我用String term=ruquest.getParameter("term");一点不会显示
      

  4.   

    用jsp中的sql标签咯
    或者自己写一个标签
    然后使用上去
      

  5.   

    将你的onchange="selectCourse();"
    改为selectCourse(this.value)同时下面的函数也要改一下,这样不就可以通过这个参数来传值了吗
      

  6.   

    不用ajax的话,还是改变select的时候,直接刷新页面吧。把select的value作为参数发送到服务器端,然后查询,再返回该页面好了。
      

  7.   

    大概是这样,有问题自己再改吧。
    <%
    //String term="2003/2004(1)";
    String term = request.getParameter("term");
    Connection com;
    Statement ppp;
    ResultSet js;
    try{
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        }
    catch(ClassNotFoundException e){}
    com=DriverManager.getConnection("jdbc:odbc:sun","sa","");
    ppp=com.createStatement();
    String well="select Cname from course,report_card WHERE course.Cno=report_card.cno and report_card.term="+"'"+term+"'";
    js=ppp.executeQuery(well);
    %>
    <form id="myform" name="myform" method="post" action="">
          <label><br />
          <br />
          学期:      </label> 
      <br>
        <select  name="term" id="term" onchange="myform.submit();">
      <option value=""></option>
          <option value="2003/2004(1)" <%=term.equals("2003/2004(1)")?"selected":""%>>2003/2004(1)</option>
          <option value="2003/2004(2)" <%=term.equals("2003/2004(2)")?"selected":""%>>2003/2004(2)</option>
          <option value="2004/2005(1)" <%=term.equals("2004/2005(1)")?"selected":""%>>2004/2005(1)</option>
          <option value="2004/2005(2)" <%=term.equals("2004/2005(2)")?"selected":""%>>2004/2005(2)</option>
          <option value="2005/2006(1)" <%=term.equals("2005/2006(1)")?"selected":""%>>2005/2006(1)</option>
          <option value="2005/2006(2)" <%=term.equals("2005/2006(2)")?"selected":""%>>2005/2006(2)</option>
          <option value="2006/2007(1)" <%=term.equals("2006/2007(1)")?"selected":""%>>2006/2007(1)</option>
          <option value="2006/2007(2)" <%=term.equals("2006/2007(2)")?"selected":""%>>2006/2007(2)</option>
          <option value="2007/2008(1)" <%=term.equals("2007/2008(1)")?"selected":""%>>2007/2008(1)</option>
          <option value="2007/2008(2)" <%=term.equals("2007/2008(2)")?"selected":""%>>2007/2008(2)</option>
          <option value="2008/2009(1)" <%=term.equals("2008/2009(1)")?"selected":""%>>2008/2009(1)</option>
          <option value="2008/2009(2)" <%=term.equals("2008/2009(2)")?"selected":""%>>2008/2009(2)</option>
            </select>
      <p>课程:<br>
        <select  name="course" id="course" >
    <option value=""></option>
    <%
    while(js.next()){
    %>
    <option value="<%=js.getString("Sname")%>"><%=js.getString("Sname")%></option>
    <%
    }
    %>
          </select>     
      <label></label>
    </form>      </td>
      </tr>
      <tr>
        <td height="180" bgcolor="#CCFFFF"></td>
      </tr>
      <tr>
        <td height="19" bgcolor="#CCFFFF"></td>
      </tr>
    </table>