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

服務(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è)計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一区高清 | 插入影院| 免费黄色片在线观看 | 热久久最新网址 | 四虎成人免费观看在线网址 | 2021福利视频 | haodiaose在线精品免费观看 | 久久精品观看影院2828 | 女人爽到喷水的视频免费看 | 成年私人影院免费视频网站 | 国产精品成人va在线观看 | 日韩在线观看一区二区不卡视频 | 91狠狠| 亚洲色域网 | 91国语精品自产拍在线观看一 | 192.168.191| 四虎影院网址大全 | 日本深夜视频 | 性妲己 | 国产大片免费在线观看 | 特黄a级三级三级野战 | 2019国内精品久久久久久 | 国产永久在线观看 | 亚洲国产日韩欧美mv | 97影院3 | 驯服有夫之妇HD中字日本 | 亚州中文字幕 | 精品久久香蕉国产线看观看麻豆 | 卫生间被教官做好爽HH视频 | 亚洲精品乱码蜜桃久久久 | 日韩毛片免费在线观看 | 亚洲国产日韩制服在线观看 | 青草悠悠视频在线观看 | 男人网站视频 | 全肉np巨肉一女np高h双龙 | 国产亚洲精品久久yy5099 | 亚洲va久久久久综合 | 蜜桃视频在线观看www | 日产乱码卡1卡2卡三卡四在线 | 强漂亮白丝女教师小说 | 91精品91久久久久久 |