Ajax、js、 xml 、jsp菜单 测试二级联动查询

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>Ajax菜单  测试二级联动查询</title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <script type="text/javascript">
        var xmlHttp;
        function createXMLRequest(){
            if(window.ActiveXObject){
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }else if(window.XMLHttpRequest){
                xmlHttp = new XMLHttpRequest();
            }else{
                alert("你的浏览器不支持Ajax!");
            }
        }
        
        function getCities(){
            createXMLRequest();
            var province = document.getElementById("provincesID").value;
            xmlHttp.open("post", "test/getCities.jsp?province="+province, true);
            xmlHttp.onreadystatechange = returnCities;
            xmlHttp.send(null);
        }
        
        function returnCities(){
            var cs = document.getElementById("citiesID");
            if(xmlHttp.readyState == 4){
                if(xmlHttp.status == 200){
                
                    var returnXML = xmlHttp.responseXML;
                    var city = returnXML.getElementsByTagName("city");
                    while(cs.childNodes.length>2){
                        cs.removeChild(cs.childNodes[cs.childNodes.length-1]);
                    }
                    for(var i=0;i<city.length; i++){
                        var option = document.createElement("option");
                        option.innerHTML = city[i].firstChild.data;
                        cs.appendChild(option);
                    }
                }
                
            }
        }
    </script>

  </head>
 
  <body>
    <div>
        <h3>级联菜单</h3>
        选择省份:
        <form action="to.jsp" method="post">
            <select name="provinces" id="provincesID" οnchange="getCities()">
                <option value="">--请选择省份--</option>
                <option value="zj">浙江</option>
                <option value="gd">广东</option>
            </select>
            选择城市:
            <select name="cities" id="citiesID">
                <option value="">请选择城市</option>
            </select>
            
            <input type="submit" value="提交">
        </form>
    </div>
  </body>
</html>


==============================

<%
String province = request.getParameter("province");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/xml;charset=utf-8");
if(province.equals("zj")){
out.println("<?xml version='1.0' encoding='utf-8'?>");
out.println("<cities>");
out.println("<city>杭州</city>");
out.println("</cities>");
}
if(province.equals("gd")){
out.println("<?xml version='1.0' encoding='utf-8'?>");
out.println("<cities>");
out.println("<city>guangzhou</city>");
out.println("</cities>");
}%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值