网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 手机学院 | 邮件系统 | 网络安全 | 认证考试
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > JSP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.JS+JSP+JAVABEAN树型列表的实现.
.现场纪实—如何入侵基于JSP的网站.
.JSP 国际化-格式化货币和日期 .
.JSP取当前日期.
.jsp的八个隐含对象.
.Java和jsp编程中应该注意的问题.
.Jsp&Servelet 学习笔记-编译一个.
.JSP在Linux下的安装.
.解决JSP开发Web程序中的中文问题.
.Java Servlet及Cookie的使用&nbs.
.tomcat 5.09 中文问题解决全攻略.
.页面自动刷新,不用按回车键来提.
.JSP自定义标签试验.
.JSP彩色验证码.
.html与jsp开发分离技术.
.JSP标签库介绍.
.可以使用多个jsp定制标签在JSP中.
.提升JSP应用程序的七大绝招.
.在JSP环境中如何来配置和使用fck.
.提升JSP页面响应速度的七大秘籍绝.

用JSP+JavaScript打造二级级联下拉菜单

发表日期:2008-6-24

 

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>
上一篇:JDBC学习笔记 人气:5098
下一篇:新手看招:JSP中表单数据存储的通用方法 人气:3357
浏览全部JSP的内容 Dreamweaver插件下载 网页广告代码 2009年新年快乐