火森

          歡迎到火星來(lái)
          posts - 6, comments - 5, trackbacks - 0, articles - 0
          兩種方案  
             
            一個(gè)是用JavaScript,一次性將兩個(gè)select的數(shù)據(jù)統(tǒng)統(tǒng)取出來(lái),將第二張表的數(shù)據(jù)放到數(shù)組中,通過(guò)第一個(gè)的change事件來(lái)改變,優(yōu)點(diǎn),運(yùn)行速度快,缺點(diǎn),需編寫對(duì)應(yīng)的javascript代碼,且無(wú)法反映實(shí)時(shí)數(shù)據(jù)  
             
            第二種方案是每次都提交,進(jìn)行聯(lián)動(dòng),優(yōu)點(diǎn),能反映數(shù)據(jù)庫(kù)實(shí)時(shí)數(shù)據(jù)信息,無(wú)須寫javascript,缺點(diǎn),運(yùn)行速度相對(duì)慢,且需要考慮保存用戶的已經(jīng)填寫的其他表單數(shù)據(jù)  
             
            看我的,方便  
             
            <form   name="form1"   method="post">        
                  <td   width="40%">          
                            <select>  
            <%  
            try{  
            Connection   con=j.getConnection();  
            Statement   statement=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);  
            String   sql="select   *   from   table";  
            ResultSet   r=statement.executeQuery(sql);  
            while(r.next())  
            {  
            %>  
                                            <option   value=<%=r.getString(1)%>><%=r.getString(1)%></option>  
            <%}  
            j.releaseConnection(con);  
            }catch(SQLException   ee){out.print("數(shù)據(jù)庫(kù)連接失敗!");}  
             
            %>  
                            </select>          
                        </td>  
                  </form>

          <%@   page   contentType="text/html;charset=gb2312"%>    
            <%@   page   import="java.sql.*"%>  
            <%@   page   import="java.io.*"%>  
            <jsp:useBean   id="user"   class="com.conn_"   scope="page"/>  
            <%  
            String   las   =request.getParameter("la");  
            String   ars   =request.getParameter("ar");  
            %>  
            <html>  
            <head>  
            <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
            <script   language="javascript">  
                    function   yjchang(){  
                  document.form2.la.value=document.form1.la.value;  
                          document.form2.submit();  
                  }      
            </script>  
            </head>  
            <body>  
            <form   action="xx_add.jsp"   method=post   name="form2">  
                    <input   type="hidden"   name="la"   id="la"   value="<%=las%>">  
            <input   type="hidden"   name="ar"   id="ar"   value="<%=ars%>">  
            </form>  
             
            <form   name="form1"   method="post"   action="xx_add_do.jsp">  
                <br/>  
                <table   width="80%"     border="0"   align="center"   cellpadding="1"   cellspacing="1"   class="table1">  
              <tr>  
                        <td   width="16%"   height="40"   align="right">部門:</td>  
                        <td   height="40">  
                                <select   name="la"   id="la"   style="width:147"   onChange="yjchang()">  
            <option></option>  
            <%  
                String   la1=request.getParameter("la");  
            String   la="";    
                ResultSet   rs_la=null;  
                try{  
                rs_la=user.executeQuery("select   branch_id,name   from   branch");  
            while(rs_la.next()){  
            la="";  
            if(rs_la.getString("branch_id").equals(la1)){  
            la="selected";  
            %>  
                                    <option   value="<%=rs_la.getString("branch_id")%>"   <%=la%>><%=rs_la.getString("name")%></option>  
                                    <%  
            }else{  
                la="";  
                %>  
            <option   value="<%=rs_la.getString("branch_id")%>"><%=rs_la.getString("name")%></option>  
            <%}}  
            }catch(   SQLException   sqle   ){}  
            catch(   Exception   e   ){}  
            finally{  
            try{  
            user.getClose();  
            if   (rs_la   !=null){  
            rs_la.close();  
            rs_la=null;  
            }  
            }catch(   SQLException   sqle   ){}    
            }  
            %>  
                                </select>  
                        </td>  
                        <td   height="40"   align="right">員工:</td>  
                        <td   height="40">  
            <select   name="ar"   id="ar"   style="width:147">  
                            <option></option>  
                            <%  
            if(las!=null){  
            String   ar1=request.getParameter("ar");  
            String   ar="";  
            ResultSet   rs_area=null;  
            try{  
            rs_area=user.executeQuery("select   ygid,name   from   hyj.area   where   branch_id='"+las+"'");  
            while(rs_area.next()){  
              ar="";  
              if(rs_area.getString("ygid").equals(ar1)){  
              ar="selected";  
            %>  
                            <option   value="<%=rs_area.getString("ygid")%>"   <%=ar%>><%=rs_area.getString("name")%></option>  
                            <%}else{%>  
            <option   value="<%=rs_area.getString("ygid")%>"><%=rs_area.getString("name")%></option>  
            <%}}  
            }catch(   SQLException   sqle   ){}  
            catch(   Exception   e   ){}  
            finally{  
            try{  
            user.getClose();  
            if   (rs_area   !=null){  
            rs_area.close();  
            rs_area=null;  
            }  
            }catch(   SQLException   sqle   ){}    
            }  
            %>  
                        </select>  
                </td>  
                    </tr>  
                    <tr   align="center">  
                        <td   height="40"   colspan="4">  
                <input   type="Submit"   name="tj"   value="提交"   class="button">  
            &nbsp;  
                        <input   type="reset"   name="Submit"   value="重置"   class="button">  
            </td>  
                    </tr>  
                </table>  
            </form>  
            </body>  
            </html>  

          Feedback

          # re: JSP下拉框聯(lián)動(dòng)如何實(shí)現(xiàn)(zt)[未登錄](méi)  回復(fù)  更多評(píng)論   

          2007-04-12 14:09 by 鼓手
          用ajax會(huì)很舒服的,呵呵

          # re: JSP下拉框聯(lián)動(dòng)如何實(shí)現(xiàn)(zt)  回復(fù)  更多評(píng)論   

          2012-06-04 20:02 by jj
          我靠,能寫清楚點(diǎn)嗎

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 宁阳县| 嘉禾县| 昭觉县| 南澳县| 天镇县| 临桂县| 普兰店市| 农安县| 南乐县| 兴业县| 镇雄县| 白银市| 舒兰市| 东丰县| 达尔| 渝北区| 浦县| 通河县| 无极县| 马龙县| 定远县| 景宁| 舞钢市| 无锡市| 汾西县| 师宗县| 鄂托克前旗| 昆山市| 阿坝县| 泽库县| 仪征市| 长沙市| 泸西县| 尚志市| 赤城县| 迁安市| 康保县| 根河市| 斗六市| 呼图壁县| 高陵县|