激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

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

java實(shí)現(xiàn)的二級(jí)聯(lián)動(dòng)菜單效果

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

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

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

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>二級(jí)菜單聯(lián)動(dòng)演示</title>
    <script type="text/javascript">
  var req;
  window.onload=function()
  {//頁(yè)面加載時(shí)的函數(shù)
  }
  function Change_Select(){//當(dāng)?shù)谝粋€(gè)下拉框的選項(xiàng)發(fā)生改變時(shí)調(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)頁(yè)中的第二個(gè)下拉框
   select_root.options.length=0;
   //每次獲得新的數(shù)據(jù)的時(shí)候先把每二個(gè)下拉框架的長(zhǎng)度清0
   for(var i=0;i<xSel.length;i++){
    var xValue = xSel[i].childNodes[0].firstChild.nodeValue;
    //獲得每個(gè)<select>標(biāo)記中的第一個(gè)標(biāo)記的值,也就是<value>標(biāo)記的值
    var xText = xSel[i].childNodes[1].firstChild.nodeValue;
    //獲得每個(gè)<select>標(biāo)記中的第二個(gè)標(biāo)記的值,也就是<text>標(biāo)記的值
    var option = new Option(xText, xValue);
    //根據(jù)每組value和text標(biāo)記的值創(chuàng)建一個(gè)option對(duì)象
    try{
     select_root.add(option);//將option對(duì)象添加到第二個(gè)下拉框中
    }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">
              二級(jí)聯(lián)動(dòng)示例
            </td>
          </tr>
          <tr>
            <td>
              <select name="province" id="province" onChange="Change_Select()">
                <!–第一個(gè)下拉菜單–>
                <option value="0">
                  請(qǐng)選擇
                </option>
                <option value="1">
                  北京
                </option>
                <option value="2">
                  天津
                </option>
                <option value="3">
                  山東
                </option>
              </select>
              <select name="city" id="city">
                <!–第二個(gè)下拉菜單–>
                <option value="0">
                  請(qǐng)選擇
                </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);
    // 獲得請(qǐng)求中參數(shù)為id的值
    String xml_start = "<selects>";
    String xml_end = "</selects>";
    String xml = "";
    if (targetId.equalsIgnoreCase("0"))
    {
      xml = "<select><value>0</value><text>請(qǐng)選擇</text></select>";
    } else if (targetId.equalsIgnoreCase("1"))
    {
      xml = "<select><value>1</value><text>昌平</text></select>";
      xml += "<select><value>2</value><text>豐臺(tái)</text></select>";
      xml += "<select><value>3</value><text>海淀</text></select>";
      xml += "<select><value>4</value><text>朝陽(yáng)</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>濟(jì)南</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>

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美另类视频一区 | 亚洲特黄 | 中文字幕网站在线 | 欧美性受ⅹ╳╳╳黑人a性爽 | 日本在线不卡一区二区三区 | 欧美国产精品一区二区 | 色视频在线播放 | a级毛片免费观看在线播放 日本aaa一级片 | 日日影视 | av影院在线播放 | 国产成人自拍视频在线 | 99精彩视频在线观看 | 日韩黄在线 | 色婷婷综合久久久久中文 | 精品国产看高清国产毛片 | 久久草在线观看视频 | 91成人在线免费视频 | 欧美xxxxx视频| xxxxhd18hd日本hd | 亚洲美女网站在线观看 | 黄污网站在线 | 激情大乳女做爰办公室韩国 | 丰满年轻岳中文字幕一区二区 | 免费a网| 免费观看欧美一级片 | 日本特级a一片免费观看 | 日日艹夜夜艹 | 黄色18网站 | 日韩黄在线| 性欧美暴力猛交69hd | 毛片在线视频在线播放 | 亚洲精久久 | 一级黄色电影网站 | 国产精品岛国久久久久久久 | 亚洲影视在线 | 国产黄色一区二区 | 91精品国产一区二区三区动漫 | 免费观看亚洲视频 | 国产中出视频 | 特级黄色小说 | 热99热 |