Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 412|回复: 0

[AJAX学习]ajax简单二级联动下拉框

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-10-13 01:50:22 | 显示全部楼层 |阅读模式
    这个一个简单ajax示例,也是ajax的长处所在。不多说了,下面来看代码。

    项目结构图:
      
      
       
       
         
       

         
       
      
       


    index.HTML:




      
    <%
    @ page language
    =
    "
    java
    "
      contentType
    =
    "
    text/html; charset=utf-8
    "
    %>



    <
    html
    >

       
    <
    head
    >

         
    <
    title
    >
    My JSP
    "
    index.html
    "
      starting page
    </
    title
    >

         
    <
    meta http
    -
    equiv
    =
    "
    Content-Type
    "
      content
    =
    "
    text/html; charset=utf-8
    "
    >

         
    <
    SCRIPT type
    =
    "
    text/javascript
    "
    >

             var req;
             window.onload
    =
    function(){
             }
             
             function Change_Select()
             {
                 var zhi
    =
    document.getElementById(
    "
    hero
    "
    ).value;
                 var url
    =
    "
    select?id=
    "
    +
    escape(zhi);
                
    if
    (window.XMLHttpRequest)
                 {
                     req
    =
    new
      XMLHttpRequest();
                 }
    else
      
    if
    (window.ActiveXObject)
                 {
                     req
    =
    new
      ActiveXObject(
    "
    Microsoft.XMLHTTP
    "
    );
                 }
                
                
    if
    (req)
                 {
                     req.open(
    "
    GET
    "
    ,url,
    true
    );
                     req.onreadystatechange
    =
    callback;
                     req.send(
    null
    );
                 }
             }
             
             function callback()
             {
                
    if
    (req.readyState
    ==
      
    4
    )
                 {
                     
    if
    (req.status
    ==
      
    200
    )
                     {
                         parseMessage();
                     }
    else
    {
                         alert(
    "
    Not able to retrieve description
    "
    +
    req.statusText);
                     }
                 }
             }
             
             function parseMessage()
             {
                 var xmlDoc
    =
    req.responseXML.documentElement;
                 var xSel
    =
    xmlDoc.getElementsByTagName(
    "
    select
    "
    );
                 var select_root
    =
    document.getElementById(
    "
    skill
    "
    );
                 select_root.options.length
    =
    0
    ;
                
                
    for
    (var i
    =
    0
    ;i
    <
    xSel.length;i
    ++
    )
                 {
                     var xValue
    =
    xSel.childNodes[
    0
    ].firstChild.nodeValue;
                     var xText
    =
    xSel.childNodes[
    1
    ].firstChild.nodeValue;
                     var option
    =
    new
      Option(xText,xValue);
                     
    try
    {
                         select_root.add(option);
                     }
    catch
    (e){
                     }
                 }
                
                
             }
         
    </
    SCRIPT
    >

       
    </
    head
    >

       
       
    <
    body
    >

         
    <
    div align
    =
    "
    center
    "
    >

             
    <
    form name
    =
    "
    form1
    "
      method
    =
    "
    post
    "
      action
    =
    ""
    >

                
    <
    TABLE width
    =
    "
    70%
    "
      boder
    =
    "
    0
    "
      cellspacing
    =
    "
    0
    "
    >

                     
    <
    TR
    >

                         
    <
    TD align
    =
    "
    center
    "
    >
    Double Select Box
    </
    TD
    >

                     
    </
    TR
    >

                     
    <
    TR
    >

                         
    <
    TD
    >

                            
    <
    SELECT name
    =
    "
    hero
    "
      id
    =
    "
    hero
    "
      onChange
    =
    "
    Change_Select()
    "
    >

                                 
    <
    OPTION value
    =
    "
    0
    "
    >
    Unbounded
    </
    OPTION
    >

                                 
    <
    OPTION value
    =
    "
    1
    "
    >
    D.K.
    </
    OPTION
    >

                                 
    <
    OPTION value
    =
    "
    2
    "
    >
    NEC.
    </
    OPTION
    >

                                 
    <
    OPTION value
    =
    "
    3
    "
    >
    BOSS
    </
    OPTION
    >

                            
    </
    SELECT
    >

                            
    <
    SELECT name
    =
    "
    skill
    "
      id
    =
    "
    skill
    "
    >

                                 
    <
    OPTION value
    =
    "
    0
    "
    >
    Unbounded
    </
    OPTION
    >

                            
    </
    SELECT
    >

                         
    </
    TD
    >

                     
    </
    TR
    >

                     
    <
    TR
    ><
    td
    >&
    nbsp;
    </
    td
    ></
    TR
    >

                
    </
    TABLE
    >

             
    </
    form
    >

         
    </
    div
    >

       
    </
    body
    >


    </
    html
    >



    SelectServlet.java:


      
    package
      com;


    import
      java.io.IOException;

    import
      java.io.PrintWriter;


    import
      javax.servlet.ServletException;

    import
      javax.servlet.http.HttpServlet;

    import
      javax.servlet.http.HttpServletRequest;

    import
      javax.servlet.http.HttpServletResponse;


    public
      
    class
      SelectServlet
    extends
      HttpServlet {

         
    /**

          * Constructor of the object.
          
    */

         
    public
      SelectServlet() {
             
    super
    ();
         }

         
    /**

          * Destruction of the servlet. <br>
          
    */

         
    public
      
    void
      destroy() {
             
    super
    .destroy();
    //
      Just puts "destroy" string in log
             
    //
      Put your code here


         }

         
    /**

          * The doGet method of the servlet. <br>
          *
          * This method is called when a form has its tag value method equals to get.
          *
          *
    @param
      request the request send by the client to the server
          *
    @param
      response the response send by the server to the client
          *
    @throws
      ServletException if an error occurred
          *
    @throws
      IOException if an error occurred
          
    */

         
    public
      
    void
      doGet(HttpServletRequest request, HttpServletResponse response)
                
    throws
      ServletException, IOException {
             response.setContentType(
    "
    text/xml
    "
    );
             response.setHeader(
    "
    Cache-Control
    "
    ,
    "
    no-cache
    "
    );
             
             String targetId
    =
    request.getParameter(
    "
    id
    "
    ).toString();
             String xml_start
    =
    "
    <selects>
    "
    ;
             String xml_end
    =
    "
    </selects>
    "
    ;
             String xml
    =
    ""
    ;
             
    if
    (targetId.equalsIgnoreCase(
    "
    0
    "
    )){
                 xml
    =
    "
    <select><value>0</value><text>Unbounded</text></select>
    "
    ;
             }
    else
      
    if
    (targetId.equalsIgnoreCase(
    "
    1
    "
    )){
                 xml
    =
    "
    <select><value>1</value><text>Mana Burn</text></select>
    "
    ;
                 xml
    +=
    "
    <select><value>2</value><text>Death Coil</text></select>
    "
    ;
                 xml
    +=
    "
    <select><value>3</value><text>Unholy Aura</text></select>
    "
    ;
                 xml
    +=
    "
    <select><value>4</value><text>Unholy Fire</text></select>
    "
    ;
             }
    else
      
    if
    (targetId.equalsIgnoreCase(
    "
    2
    "
    )){
                 xml
    =
    "
    <select><value>1</value><text>Corprxplode</text></select>
    "
    ;
                 xml
    +=
    "
    <select><value>2</value><text>Raise Dead</text></select>
    "
    ;
                 xml
    +=
    "
    <select><value>3</value><text>Brilliance Aura</text></select>
    "
    ;
                 xml
    +=
    "
    <select><value>4</value><text>Aim Aura</text></select>
    "
    ;
             }
    else
    {
                 xml
    =
    "
    <select><value>1</value><text>Rain of Chaos</text></select>
    "
    ;
                 xml
    +=
    "
    <select><value>2</value><text>Finger of Death</text></select>
    "
    ;
                 xml
    +=
    "
    <select><value>3</value><text>Bash</text></select>
    "
    ;
                 xml
    +=
    "
    <select><value>4</value><text>Summon Doom</text></select>
    "
    ;
             }
             String last_xml
    =
    xml_start
    +
    xml
    +
    xml_end;
             response.getWriter().write(last_xml);
         }

         
    /**

          * The doPost method of the servlet. <br>
          *
          * This method is called when a form has its tag value method equals to post.
          *
          *
    @param
      request the request send by the client to the server
          *
    @param
      response the response send by the server to the client
          *
    @throws
      ServletException if an error occurred
          *
    @throws
      IOException if an error occurred
          
    */

         
    public
      
    void
      doPost(HttpServletRequest request, HttpServletResponse response)
                
    throws
      ServletException, IOException {

             doGet(request,response);
         }

         
    /**

          * Initialization of the servlet. <br>
          *
          *
    @throws
      ServletException if an error occure
          
    */

         
    public
      
    void
      init()
    throws
      ServletException {
             
    //
      Put your code here


         }

    }


    web.xml:


      
    <?
    xml version
    =
    "
    1.0
    "
      encoding
    =
    "
    UTF-8
    "
    ?>


    <
    web
    -
    app version
    =
    "
    2.4
    "
      
         xmlns
    =
    "
    http://java.sun.com/xml/ns/j2ee
    "
      
         xmlns:xsi
    =
    "
    http://www.w3.org/2001/XMLSchema-instance
    "
      
         xsi:schemaLocation
    =
    "
    http://java.sun.com/xml/ns/j2ee


         http:
    //
    java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">


       
    <
    servlet
    >

         
    <
    servlet
    -
    name
    >
    SelectServlet
    </
    servlet
    -
    name
    >

         
    <
    servlet
    -
    class
    >
    com.SelectServlet
    </
    servlet
    -
    class
    >

       
    </
    servlet
    >


       
    <
    servlet
    -
    mapping
    >

         
    <
    servlet
    -
    name
    >
    SelectServlet
    </
    servlet
    -
    name
    >

         
    <
    url
    -
    pattern
    >/
    select
    </
    url
    -
    pattern
    >

       
    </
    servlet
    -
    mapping
    >

         
         
    <
    welcome
    -
    file
    -
    list
    >

             
    <
    welcome
    -
    file
    >
    index.html
    </
    welcome
    -
    file
    >

         
    </
    welcome
    -
    file
    -
    list
    >


    </
    web
    -
    app
    >



    运行结果图:


      
      
       
       

         
       

         
       
      
    复制代码

    源码下载:http://file.javaxxz.com/2014/10/13/015022390.zip
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-26 07:19 , Processed in 0.385713 second(s), 36 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表