賽迪網 > IT技術 Java > JAVA技術
  IT資訊搜索
 
IT產品搜索
[程式開發][網管世界][網路安全][數據庫技術]
[作業系統][嘉賓聊天·線上訪談][活動集錦]
[精彩專題][Symantec專區][訂閱IT技術週刊]
[開發論壇][網管論壇][安全論壇][數據庫論壇]
[作業系統論壇][Sybase專區][IBM dW技術專區]
[病毒求助][病毒與漏洞播報][文檔·源碼下載]

用JSP+JavaScript打造二級級聯下拉功能表

發佈時間:2008.06.24 06:58     來源:賽迪網    作者:sixth

JSP+JavaScript打造二級級聯下拉功能表:

class(一級欄目資訊):classId(自動編號),className(欄目名稱), Nclass(二級欄目資訊), NclassId(自動編號),NclassName(欄目名稱),parentId(一級欄目id,與class表中的classId關聯)

<%@ page contentType=text/html; charset=GB2312 language=java errorPage=../error.jsp %> 
<%@ include file=../conn.jsp%> 
<%@ include file=../ds.jsp%> 
<%@ taglib uri=http://java.sun.com/jsp/jstl/sql divfix=sql %> 
<%request.setCharacterEncoding(gb2312); %> 
<HTML><HEAD> 
<META http-equiv=Content-Type content=text/html; charset=gb2312> 

<TITLE>級聯功能表</TITLE> 
<LINK rel=stylesheet type=text/css href=style.css> 
</HEAD> 
<!--從數據庫中得到二級欄目資訊--> 
<%String sql=select * from Nclass order by NclassId asc; 
ResultSet rs=stmt.executeQuery(sql); 
%> 
<!--將二級欄目資訊保存到數組subcat中--> 
<script type=text/javascript> 
var onecount; 
onecount=0; 
subcat = new Array(); 
        <% 
        int count = 0; 
        while(rs.next()){ 
        %> 
subcat[<%=count%>] = new Array(<%=rs.getString(NclassName)%>,
<%=rs.getString(NclassId)%>,<%=rs.getString(parentId)%>); 
        <% 
        count++; 
        } 
        rs.close(); 
        %> 
onecount=<%=count%>; 
<!--決定select顯示的函數--> 
function changelocation(locationid) 
    { 
    document.myform.NclassId.length = 0; 

    var locationid=locationid; 
    var i; 
    for (i=0;i < onecount; i++) 
        { 
            if (subcat[i][2] == locationid) 
            { 
                document.myform.NclassId.options[document.myform.NclassId.length] = new 
Option(subcat[i][0], subcat[i][1]); 
            }        
        } 
        
    }    
</script> 

<FORM method=POST name=myform action=adminsave.jsp?action=add> 
  <TABLE> 
   
    <TR> 
      <TD>一級分類</TD> 
      <TD>  
        <SELECT name=classId onChange=changelocation(document.myform.classId.options
[document.myform.classId.selectedIndex].value) size=1> 
          <OPTION selected value>==請選一級分類==</OPTION> 
        <sql:query var=query dataSource=$> 
          SELECT * FROM class 
       </sql:query> 
<c:forEach var=row items=$> 
 <option value=$>$</option> 
</c:forEach> 
</select> 
      </TD> 
      <TD>選擇二級分類</TD> 
      <TD> 
        <SELECT name=NclassId> 
          <OPTION selected value>==請選二級分類==</OPTION> 
        </SELECT> 
      </TD> 
    </TR> 
</TABLE> 
  
</FORM> 
</BODY> 
</HTML>
<%@ page contentType=text/html; charset=GB2312 language=java errorPage=../error.jsp %> 
<%@ include file=../conn.jsp%> 
<%@ include file=../ds.jsp%> 
<%@ taglib uri=http://java.sun.com/jsp/jstl/sql divfix=sql %> 
<%request.setCharacterEncoding(gb2312); %> 
<HTML><HEAD> 
<META http-equiv=Content-Type content=text/html; charset=gb2312> 

<TITLE>級聯功能表</TITLE> 
<LINK rel=stylesheet type=text/css href=style.css> 
</HEAD> 
<!--從數據庫中得到二級欄目資訊--> 
<%String sql=select * from Nclass order by NclassId asc; 
ResultSet rs=stmt.executeQuery(sql); 
%> 
<!--將二級欄目資訊保存到數組subcat中--> 
<script type=text/javascript> 
var onecount; 
onecount=0; 
subcat = new Array(); 
        <% 
        int count = 0; 
        while(rs.next()){ 
        %> 
subcat[<%=count%>] = new Array(<%=rs.getString(NclassName)%>,
<%=rs.getString(NclassId)%>,<%=rs.getString(parentId)%>); 
        <% 
        count++; 
        } 
        rs.close(); 
        %> 
onecount=<%=count%>; 
<!--決定select顯示的函數--> 
function changelocation(locationid) 
    { 
    document.myform.NclassId.length = 0; 

    var locationid=locationid; 
    var i; 
    for (i=0;i < onecount; i++) 
        { 
            if (subcat[i][2] == locationid) 
            { 
                document.myform.NclassId.options[document.myform.NclassId.length] = new 
Option(subcat[i][0], subcat[i][1]); 
            }        
        } 
        
    }    
</script> 

<FORM method=POST name=myform action=adminsave.jsp?action=add> 
  <TABLE> 
   
    <TR> 
      <TD>一級分類</TD> 
      <TD>  
        <SELECT name=classId onChange=changelocation(document.myform.classId.options
[document.myform.classId.selectedIndex].value) size=1> 
          <OPTION selected value>==請選一級分類==</OPTION> 
        <sql:query var=query dataSource=$> 
          SELECT * FROM class 
       </sql:query> 
<c:forEach var=row items=$> 
 <option value=$>$</option> 
</c:forEach> 
</select> 
      </TD> 
      <TD>選擇二級分類</TD> 
      <TD> 
        <SELECT name=NclassId> 
          <OPTION selected value>==請選二級分類==</OPTION> 
        </SELECT> 
      </TD> 
    </TR> 
</TABLE> 
  
</FORM> 
</BODY> 
</HTML>

(責任編輯:雲子)


[ 發表評論 ] 字體[  ] [ 列印 ] [ 進入博客 ] [ 進入論壇 ]  [ 推薦給朋友 ]
  相關文章
· 新手看招:JSP中表單數據存儲的通用方法 (06-23) · 深入講解提升JSP應用程式的七個實用方法 (06-20)
· 介紹JSP程式動態網站環境搭建的詳細步驟 (06-20) · 關於JSP中基於Session的線上用戶統計分析 (06-19)
· 實例解析:Jsp+JavaBean循序漸進教程(一) (06-19) · 專題:全面了解與掌握Java平臺安全技術 (06-18)
· Java安全:用Kerberos為J2ME應用程式上鎖 (06-18) · Java安全:運用加密技術保護Java源代碼 (06-18)
· J2EE探索者:用JAAS和JSSE實現Java安全性 (06-18) · Java安全通信:為高級JSSE開發人員定制SSL (06-18)
  客戶需求反饋表
* 姓  名:
更多資料  了解方案  認識廠商
* 單位名稱:
* 聯繫電話:
* 電子郵件:
  賽迪推薦  
  手機·資費 ·新品·導購·評測·手機資費·寬帶
手機搜索  諾基亞 N73 MOTO Z6
  IT產品 ·筆記本·臺式機·伺服器·列印·投影
IT產品搜索 
  IT技術 ·開發·網管·安全·數據庫·作業系統
  資訊化 ·熱點·專題·訪談·週刊·方案案例
· 中小企業發展緩慢 電子商務存在的問題多
· 馬雲追加20億投資淘寶 圖謀電子商務霸主
· 國產ITIL運維先行者 四大廠商角力BI市場
· 企業資訊安全解決方案 方正電子公文系統
  IT博客 ·曾劍秋·項立剛·Java學習·網管
  IT技術論壇 ·開發·網管·安全·數據庫·系統