一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - java實現(xiàn)的二級聯(lián)動菜單效果

java實現(xiàn)的二級聯(lián)動菜單效果

2020-06-05 15:19xiangqian0505 JAVA教程

這篇文章主要介紹了java實現(xiàn)的二級聯(lián)動菜單效果,結(jié)合實例形式分析了java前臺頁面布局及與后臺交互構(gòu)造聯(lián)動菜單的相關(guān)技巧,需要的朋友可以參考下

本文實例講述了java實現(xiàn)的二級聯(lián)動菜單效果。分享給大家供大家參考,具體如下:

JSP代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<%@ page language="java" pageEncoding="UTF-8"%>
<html>
  <head>
    <title>二級菜單聯(lián)動演示</title>
    <script type="text/javascript">
  var req;
  window.onload=function()
  {//頁面加載時的函數(shù)
  }
  function Change_Select(){//當(dāng)?shù)谝粋€下拉框的選項發(fā)生改變時調(diào)用該函數(shù)
   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);
     //指定回調(diào)函數(shù)為callback
    req.onreadystatechange = callback;
    req.send(null);
   }
  }
  //回調(diào)函數(shù)
  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>標(biāo)記
   var select_root = document.getElementById('city');
   //獲得網(wǎng)頁中的第二個下拉框
   select_root.options.length=0;
   //每次獲得新的數(shù)據(jù)的時候先把每二個下拉框架的長度清0
   for(var i=0;i<xSel.length;i++){
    var xValue = xSel[i].childNodes[0].firstChild.nodeValue;
    //獲得每個<select>標(biāo)記中的第一個標(biāo)記的值,也就是<value>標(biāo)記的值
    var xText = xSel[i].childNodes[1].firstChild.nodeValue;
    //獲得每個<select>標(biāo)記中的第二個標(biāo)記的值,也就是<text>標(biāo)記的值
    var option = new Option(xText, xValue);
    //根據(jù)每組value和text標(biāo)記的值創(chuàng)建一個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">
              二級聯(lián)動示例
            </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>

Java代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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);
    // 獲得請求中參數(shù)為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>塘沽區(qū)</text></select>";
      xml += "<select><value>2</value><text>漢沽區(qū)</text></select>";
      xml += "<select><value>3</value><text>大港區(qū)</text></select>";
      xml += "<select><value>4</value><text>東麗區(qū)</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
  {
  }
}

XML代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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>

希望本文所述對大家java程序設(shè)計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女自插| 国产欧美日韩亚洲精品区2345 | 任我行视频在线观看国语 | 男人女人日批 | 欧美综合在线 | 亚洲国产中文字幕在线视频综合 | 男女发生性关系视频 | 免费人成在线观看视频播放 | 日韩美一区二区三区 | 午夜影院免费体验 | 欧美聚众性派对hdsex | 好爽轻点太大了太深了 | xxxx意大利xxxxhd| 韩国禁片在线观看久 | 欧美日韩免费一区二区在线观看 | 小泽玛丽av无码观看 | 日本网| 办公室里被迫高h | 日韩精品视频观看 | 91精品国产91久久久久久 | 女生被爆操 | 色老板视频在线观看 | 国产精品成人免费 | 亚洲娇小videos | 国产精品色图 | 欧美日韩在线观看一区二区 | 极品主播的慰在线播放 | 日韩视频一 | 四虎综合九九色九九综合色 | 亚洲AV中文字幕无码久久 | 亚洲黄色免费在线观看 | 91tv在线| 末代皇帝无删减版在线观看 | 久久精视频 | 国产精品思瑞在线观看 | 四虎国产成人免费观看 | 日本美女动态图片 | 高贵女王调奴vk | 91香蕉导航| 国产精品美女久久久久 | 国产精品反差婊在线观看 |