• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Ajax实现二级联动菜单

    本文实例为大家分享了Ajax二级联动菜单的具体代码,供大家参考,具体内容如下

    index.jsp

    %@ page language="java" pageEncoding="UTF-8"%>
    html>
     head>
      title>二级菜单联动演示/title>
      script type="text/javascript">
     var req;
     window.οnlοad=function()
     {//页面加载时的函数
     }
     
     function Change_Select(){//当第一个下拉框的选项发生改变时调用该函数
      var province = document.getElementById('province').value;
      var url = "select?id="+ escape(province);
      if(window.XMLHttpRequest){
      req = new XMLHttpRequest();
      }else if(window.ActiveXObject){
      req = new ActiveXObject("Microsoft.XMLHTTP");
      }
      if(req){
      req.open("GET",url,true);
       //指定回调函数为callback
      req.onreadystatechange = callback;
      req.send(null);
      }
     }
     //回调函数
     function callback(){
      if(req.readyState ==4){
      if(req.status ==200){
       parseMessage();//解析XML文档
      }else{
       alert("不能得到描述信息:" + req.statusText);
      }
      }
     }
     //解析返回xml的方法
     function parseMessage(){
      var xmlDoc = req.responseXML.documentElement;//获得返回的XML文档
      var xSel = xmlDoc.getElementsByTagName('select');
      //获得XML文档中的所有select>标记
      var select_root = document.getElementById('city');
      //获得网页中的第二个下拉框
      select_root.options.length=0;
      //每次获得新的数据的时候先把每二个下拉框架的长度清0
      
      for(var i=0;ixSel.length;i++){
      var xValue = xSel[i].childNodes[0].firstChild.nodeValue;
      //获得每个select>标记中的第一个标记的值,也就是value>标记的值
      var xText = xSel[i].childNodes[1].firstChild.nodeValue;
      //获得每个select>标记中的第二个标记的值,也就是text>标记的值
      
      var option = new Option(xText, xValue);
      //根据每组value和text标记的值创建一个option对象
      
      try{
       select_root.add(option);//将option对象添加到第二个下拉框中
      }catch(e){
      }
      }
     }  
     /script>
     /head>
     
     body>
      div align="center">
       form name="form1" method="post" action="">
        table width="70%" border="0" cellspacing="0" cellpadding="0">
         tr>
          td align="center">
           二级联动示例
          /td>
         /tr>
         tr>
          td>
           select name="province" id="province" onChange="Change_Select()">
            !--第一个下拉菜单-->
            option value="0">
             请选择
            /option>
            option value="1">
             北京
            /option>
            option value="2">
             天津
            /option>
            option value="3">
             山东
            /option>
           /select>
           select name="city" id="city">
            !--第二个下拉菜单-->
            option value="0">
             请选择
            /option>
           /select>
          /td>
         /tr>
         tr>
          td>
          /td>
         tr>
        /table>
       /form>
      /div>
     /body>
    /html>

    SelectServlet.java

    package com;
     
    import java.io.IOException;
     
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    /***
     * 
     * @author zdw
     *
     */
    public class SelectServlet extends HttpServlet
    {
     
     private static final long serialVersionUID = 1L;
     
     public SelectServlet()
     {
      super();
     }
     
     public void destroy()
     {
      super.destroy();
     }
     
     public void doGet(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException
     {
    //  response.setCharacterEncoding("GBK");
      response.setContentType("text/xml");
      response.setHeader("Cache-Control", "no-cache");
      request.setCharacterEncoding("GBK");
      response.setCharacterEncoding("UTF-8");
      String targetId = request.getParameter("id").toString();
      System.out.println(targetId);
      // 获得请求中参数为id的值
      String xml_start = "selects>";
      String xml_end = "/selects>";
      String xml = "";
     
      if (targetId.equalsIgnoreCase("0"))
      {
       xml = "select>value>0/value>text>请选择/text>/select>";
      } else if (targetId.equalsIgnoreCase("1"))
      {
       xml = "select>value>1/value>text>昌平/text>/select>";
       xml += "select>value>2/value>text>丰台/text>/select>";
       xml += "select>value>3/value>text>海淀/text>/select>";
       xml += "select>value>4/value>text>朝阳/text>/select>";
      } else if (targetId.equalsIgnoreCase("2"))
      {
       xml = "select>value>1/value>text>塘沽区/text>/select>";
       xml += "select>value>2/value>text>汉沽区/text>/select>";
       xml += "select>value>3/value>text>大港区/text>/select>";
       xml += "select>value>4/value>text>东丽区/text>/select>";
      } else
      {// 如果是3,则返回下面的字符
       xml = "select>value>1/value>text>济南/text>/select>";
       xml += "select>value>2/value>text>青岛/text>/select>";
       xml += "select>value>3/value>text>淄博/text>/select>";
       xml += "select>value>4/value>text>枣庄/text>/select>";
      }
     
      String last_xml = xml_start + xml + xml_end;
      response.getWriter().write(last_xml);
     
     }
     
     public void doPost(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException
     {
      doGet(request, response);
     }
     
     public void init() throws ServletException
     {
     }
     
    }

    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.jsp/welcome-file>
     /welcome-file-list>
    /web-app>

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • PHP+ajax实现二级联动菜单功能示例
    • ajax三级联动下拉菜单效果
    • AJAX省市区三级联动下拉菜单(java版)
    • ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
    • ajax读取数据库内容实现二级联动下拉选择菜单示例
    • Ajax二级联动菜单实现原理及代码
    • 基于asp+ajax和数据库驱动的二级联动菜单
    • 一个强健 实用的asp+ajax二级联动菜单(有演示和附源程序打包下载)
    • 落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
    • 琥珀无限级分类联动菜单AJAX版
    上一篇:基于Spring Boot利用 ajax实现上传图片功能
    下一篇:bootstrap select2 动态从后台Ajax动态获取数据的代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Ajax实现二级联动菜单 Ajax,实现,二级,联动,菜单,