有兩個表,表1有字段id,sel_table,report_name,表2有字段table_name_i,field_description如何用JSP實現兩表下拉框聯動功能


有兩個表,表1有字段id,sel_table,report_name,表2有字段table_name_i,field_description如下:

表1(testsql):                                表2(report):   
  id  sel_table     report_name               table_name_i     field_description
  1   bb                報表1                     bb                描述1
  2   cc                報表2                     bb                描述2                 
  3   bb_jxyzj_ab       報表3                     cc                描述3
  4   dd                報表4                     bb_jxyzj_ab       描述4

如何用JSP實現兩表下拉框聯動功能,當點下拉框1(顯示表1的report_name字段)中任意一值后,在下拉框2(顯示表2的field_description字段)中顯示與表1相關聯的字段
謝謝

12 个解决方案

#1


給你個例子好了,多少個都沒有問題 
自己copy就是了哦 ﹕)
String sql="select name from user"; 
ResultSet rs=stmt.executeQuery(sql); 
out.print("<select name='name'><option value=''>--用戶名--</option>"); 
      while(rs.next()){
         out.print("<option value="+rs.getObject(1).toString()+">"+rs.getString(1));
         out.print("</option>");
       }
      out.print("</select>");
String sql1="select password from user"; 
ResultSet rs1=stmt.executeQuery(sql1); 
out.print("<select name='password'><option value=''>---密碼--</option>"); 
      while(rs.next()){
         out.print("<option value="+rs1.getObject(1).toString()+">"+rs1.getString(1));
         out.print("</option>");
       }
      out.print("</select>");

#2


樓上的厲害

#3


嘿嘿,
樓上的樓上的點選第一個下拉框的值
第二個下拉框的值不會變;
要變得用javascript

#4


是呀,跟本不變,誰有例子,是兩個表的

#5


直接從jsp中取出來的,參考一下吧。。
使用到了jstl,額外的說明,涉及兩個表,
銀行表  銀行cd(PK) 銀行名
支店表  銀行cd(PK) 支店cd(PK) 支店名

使用的地方,記得調用onchange
function setSelect()
{
    var obj = SLDF0010;
//銀行cd
    var selectBankCode = obj.bankCode.value;

    if(selectBankCode == 0) {
        obj.bankBranchCode.options.length = 0;
        var cntIn = 0;
    } else {
        obj.bankBranchCode.options.length=1;
        var cntIn = 1;
    }
//session_XXX.transferDataInfoCombo.bankBranchInfo這里面放的是銀行list
    <c:forEach items="${session_XXX.transferDataInfoCombo.bankBranchInfo}" var="bankBranchInfo">
        if(selectBankCode == "<c:out value="${bankBranchInfo.bankCode}"/>") {
            obj.bankBranchCode.options.length++;
                obj.bankBranchCode.options[cntIn].text = "<c:out value="${bankBranchInfo.branchName}"/>";
                obj.bankBranchCode.options[cntIn].value = "<c:out value="${bankBranchInfo.branchCode}"/>";
            cntIn++;
        }
    </c:forEach>
    obj.bankBranchCode.selectedIndex = 0;

}

#6


到javascript版塊去搜一下
太多了。

#7


我現在想,如果在<select>中加上onchange="form.submit()"
第二個下拉框是有變化的,相當於你遞交了,
但是接下來的問題是,你的第一個下拉框的值沒法保存。
總之最后還得用javascript來解決。

#8


我曾經用ASP寫過,可以參考一下:
在<head>標簽內加入如下JAVASCRIPT代碼:

function searchbydepart()
{
susers.action="search.asp";
susers.submit();
}

在search.asp內加入如下代碼:
<form id="susers" method="post">
<tr>
<td align="left" width="23%" height="35"><font size="2">&nbsp;&nbsp; 
你要檢索的是使用者<span lang="en-us">:</span></font></td>
<td width="17%" height="35">
<p align="left"><span lang="en-us">&nbsp;</span><font size="2"><img border="0" src="image/find.gif" width="45" height="18"></font><span lang="en-us">&nbsp;
</span><select size="1" name="department" onchange="searchbydepart()">
<option selected >按部門</option>
<%
rs.open "select * from department",conn,1,2
if rs.eof and rs.bof then
response.write("暫時還沒有部門信息!")
end if
do until rs.eof 
%>
<option><%=rs("department")%></option>

<%
rs.movenext
loop
rs.close()
%>
</select></td>
<td width="15%" height="35">
<p align="left"><span lang="en-us">&nbsp;&nbsp; </span><select size="1" name="user">
<option selected value="按使用者" >按使用者</option>
<%
rs.open "select * from users where department='"&department&"'",conn,1,2
if rs.bof and rs.eof then
response.write("<option>"+department+"暫時沒有使用者</option>")
else
do until rs.eof
%>
<option value=<%=rs("u_id")%>><%=rs("username")%></option>
<%
rs.movenext
loop
rs.close()
end if
%>
</select></td>
<td height="35" width="44%"><font size="2">
&nbsp;&nbsp;<input type="button" value="搜  索" name="B1" onclick="searchbyuser()" style="font-size: 10pt">&nbsp;
</span><a href="userlist.asp">查看全部使用者<span lang="en-us">,</span>按這里&gt;&gt;&gt;</a></font></td>
</tr>
</form>

#9


up~~~~~~~~~~~~~~~~~~~

#10


guan zhu!!

#11


guanzhu

#12


該回復於2016-04-07 14:38:16被管理員刪除

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com