ajax二级联动源代码,Ajax二级联动菜单实现原理及代码
index.jsp:
二级菜单联动演示
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文档中的所有标记
var select_root = document.getElementById('city');
//获得网页中的第二个下拉框
select_root.options.length=0;
//每次获得新的数据的时候先把每二个下拉框架的长度清0
for(var i=0;i
var xValue = xSel[i].childNodes[0].firstChild.nodeValue;
//获得每个标记中的第一个标记的值,也就是标记的值
var xText = xSel[i].childNodes[1].firstChild.nodeValue;
//获得每个标记中的第二个标记的值,也就是标记的值
var option = new Option(xText, xValue);
//根据每组value和text标记的值创建一个option对象
try{
select_root.add(option);//将option对象添加到第二个下拉框中
}catch(e){
}
}
}
二级联动示例 |
请选择 北京 天津 山东 请选择 |
SelectServlet:
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 = "";
String xml_end = "";
String xml = "";
if (targetId.equalsIgnoreCase("0"))
{
xml = "0请选择";
} else if (targetId.equalsIgnoreCase("1"))
{
xml = "1昌平";
xml += "2丰台";
xml += "3海淀";
xml += "4朝阳";
} else if (targetId.equalsIgnoreCase("2"))
{
xml = "1塘沽区";
xml += "2汉沽区";
xml += "3大港区";
xml += "4东丽区";
} else
{// 如果是3,则返回下面的字符
xml = "1济南";
xml += "2青岛";
xml += "3淄博";
xml += "4枣庄";
}
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:
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">
SelectServlet
com.SelectServlet
SelectServlet
/select
index.jsp
ajax二级联动源代码,Ajax二级联动菜单实现原理及代码相关推荐
- php下拉列表 二级 联动,PHP+Ajax实现二级联动下拉菜单!
正文 字体大小: 中 PHP+Ajax实现二级联动下拉菜单! (2009-12-05 01:11:39) 标签: 杂谈 数据库 .................................... ...
- asp+ajax菜单,AJAX_基于asp+ajax和数据库驱动的二级联动菜单,index.asp 页面代码 复制代码 代 - phpStudy...
基于asp+ajax和数据库驱动的二级联动菜单 index.asp 页面代码 复制代码 代码如下: set cmd = conn.execute("select bigclassid,big ...
- ajax实现多级联动菜单,jquery 实现二级/三级/多级联动菜单的思路及代码
本文介绍使用jquery的AJAX功能和asp.net来实现省市区的三级联动效果,其他二级.三级或多级联动也可以按照此方法完成. 文章中涉及到的数据表为City,为方便管理. 设计此表如下 ID:自增 ...
- php jq ajax 4个下拉框联动案列,Ajax与Jquery结合数据库做出实现下拉框的二级联动...
这次给大家带来Ajax与Jquery结合数据库做出实现下拉框的二级联动,Ajax与Jquery结合数据库做出实现下拉框二级联动的注意事项有哪些,下面就是实战案例,一起来看一下. 首先我们需要先建立好数 ...
- php ajax城市联动,php+ajax 城市联动
jquery-1.8.0.min.js 自己下载 /* 表结构 -- -- 表的结构 `web_city` -- CREATE TABLE IF NOT EXISTS `web_city` ( `i ...
- [Ajax] jQuery中的Ajax -- 02-jQuery中的三级联动
案例 jQuery的三级联动 server2.json代码展示 [{"province": "吉林省","cities": [{" ...
- 无刷新三级联动(ajax)(转)
要求使用ajax实现无刷新的三级联动 <head> <title></title> <script src="Jquery1.7.j ...
- 使用ajax和json实现省市区三级联动
使用ajax和json实现省市区三级联动 运行效果 HTML部分 <div id="address"><label>家庭住址:</label>& ...
- 三级联动(ajax)
<body> <div id="zhuti"></div> </body> <script type="text/j ...
最新文章
- 【Android-NCNN-Vulkan】ncnn-vulkan load param model 速度慢
- php v9 上传_phpcms v9 表单添加文件上传字段
- 机器学习--线性回归(LinearRegression)
- 4399元!苹果2020年终极新品上市就遇麻烦:付款3个月才能到货
- Python中__init__和__new__的区别详解
- Django模板层:DTL模板渲染-变量
- Codeforces Round 496
- JSON格式解析和libjson使用简介-转
- 用unity3d切割图片
- 大数据:新动力 新机遇 新途径
- 《惢客创业日记》2020.08.01(周六)七月份的工作总结
- 利用pdf-poppler和printJS完成pdf批量打印
- 杂七杂八(4): win10设置启动时创建系统还原点
- 我问自己代言,甄嬛篇
- java web开中WebRoot下的jsp和WebRoot文件夹下的jsp(html)引用css样式
- 谷歌插件扩展破解禁止复制粘贴
- LeetCode-108
- [华为机试真题]69.姓名的夫妻相
- groovy if 判断字符串_Groovy快速入门看这篇就够了
- 基于Java+Swing实现雷电小游戏
热门文章
- ble mac地址 协议_BLE获取iphone mac地址的方法--【sky原创】
- jquery复选框组清空选中的值_jquery操作复选框(checkbox)的12个小技巧总结
- XSS介绍_靶场DVWA,pikachu;其他XSS平台
- c语言设计成行考核答案,20秋广东开放大学C语言程序设计成性考核参考答案(10页)-原创力文档...
- [LeetCode] 搜索旋转排序数组
- 淘宝API调用 申请 获取session key
- ORACLE B-TREE(B树)索引
- 在有限多的不大于100的正整数中,找出尽量多个相加起来值介于98~102之间的组合...
- 阿里云物联网MQTT三元数生成
- 最小二乘法C#实现,简单代码