JSP页面

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ajax无刷新三级联动</title><%
MemberDal md = new MemberDal(); //实例化封装的数据库操作类ArrayList<Member> al1 = md.getMember(0); //获取第一级地区数据%><script type="application/javascript" src="jquery/jquery-1.11.3.js"></script><script type="text/javascript">function yijChangeJson()
{    //Jquery Ajax  get方法异步请求调用数据         URL(第一级地区ID参数) + 回调函数
    $.get("jsonMembers?parentid=" + $("#yij").val() + "&nocache=" + new Date().getTime(),function(data,status){//解析JSON  获取数组var array = eval(data);var erj = document.getElementById("erj");//清空下拉列表
        erj.options.length = 1;//遍历数据for(var i = 0; i < array.length; i++){//更改option标签内容和value
            erj.options.add(new Option(array[i].name, array[i].id));            }//清空第三级下拉列表var sanj = document.getElementById("sanj");sanj.options.length = 1;})
}function erjChangeJson()
{   //Jquery Ajax  get方法异步请求调用数据          URL(第二级地区ID参数) + 回调函数
    $.get("jsonMembers?parentid=" + $("#erj").val() + "&nocache=" + new Date().getTime(),function(data,status){//解析JSON  获取数组var array = eval(data);var sanj = document.getElementById("sanj");//清空下拉列表
        sanj.options.length = 1;//遍历数据for(var i = 0; i < array.length; i++){//更改option标签内容和value
            sanj.options.add(new Option(array[i].name, array[i].id));            }})
}</script></head>
<body><form>
一级地区:
<select id="yij" name="yij" onchange="yijChangeJson()">
<option value="0">未选择</option>
<%
if(al1 != null)
{
for(Member m : al1)  //遍历获取第一级地区数据集合并在option标签内输出
{out.append("<option value='"+m.getId()+"'>"+m.getName()+"</option>");
}
}
%>
</select>
二级地区:
<select id="erj" name="erj"  onchange="erjChangeJson()"><option value="0">未选择</option>
</select>三级地区:
<select id="sanj" name="sanj" ><option value="0" selected>未选择</option></select></body>
</html>

servlet

package com.hanqi;import java.io.IOException;
import java.util.ArrayList;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import com.hanqi.dao.Member;
import com.hanqi.dao.MemberDal;import com.alibaba.fastjson.*;//引入JSON的jar包

@WebServlet("/jsonMembers")
public class jsonMembers extends HttpServlet {private static final long serialVersionUID = 1L;public jsonMembers() {super();}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("UTF-8");    response.setContentType("text/html; charset=UTF-8");String parentid = request.getParameter("parentid");//接收ajax发送参数
        MemberDal md = new MemberDal();  //实例化封装的数据库操作类if(parentid != null && parentid.trim().length() > 0){int i = Integer.parseInt(parentid);//数据类型转换
            String s = "";try{ArrayList<Member> al = md.getMember(i); //根据参数查询数据获取集合if(al != null){s = JSON.toJSONString(al); //将集合以字符串形式存入JSON
                }} catch (Exception e) {e.printStackTrace();}response.getWriter().append(s);//把JSON数据发送给JSP
        }} protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub
        doGet(request, response);}}

转载于:https://www.cnblogs.com/OldZhao/p/5067067.html

JAVA EE 中之AJAX 无刷新地区下拉列表三级联动相关推荐

  1. Ajax省市地区下拉列表三级联动

    SQL数据库表 --创建Province表 CREATE TABLE [dbo].[Province]([Id] [int] NULL,[Name] [varchar](50) NULL,[order ...

  2. jQuery框架+DWR框架实现的Java Web中的Ajax效果(异步请求,局部刷新)

    一 简介和实现效果 这里用一个小例子来简单举例说明,做一个搜索引擎搜索提示效果,通过不断输入字符,然后在下方给出搜索提示.效果图如下: 通过上图可以看到,当输入一个"a"时,提示了 ...

  3. java ajax无刷分页_简单实现Ajax无刷新分页效果

    Ajax无刷新分页效果,如下代码实现 Ajax无刷新分页效果 function showpage(url) { var xhr = new XMLHttpRequest(); xhr.onreadys ...

  4. ajax和php二级联动,jQuery+php+mysql,轻松实现ajax无刷新省市二级联动[多图]

    jQuery+php+mysql,轻松实现ajax无刷新省市二级联动[多图] 08-15栏目:技术 TAG:zxfy zxfy 用jQuery的ajax方法,结合PHP,轻松实现省市级的二级联动: h ...

  5. ajax无刷新留言板远吗,基于jquery实现ajax无刷新评论

    基于jquery实现ajax无刷新评论 发布于 2017-03-31 11:26:07 | 75 次阅读 | 评论: 0 | 来源: 网友投递 jQuery javascript框架jQuery是一个 ...

  6. ajax无刷新评论的思路,ajax学习——ajax版无刷新评论(数据库)

    //Comment.htm 无刷新评论 type="text/javascript"> //加载评论 $(function() { $.post("GetComme ...

  7. html5拖拽图片批量ajax无刷新进度上传

    1.前端拖拽图片 之前有篇文章说到HTML5的拖拽(drag.drop,详见:/post/jquery-plugin-1-jquery-drag-and-html5-draggable-api-and ...

  8. ajax无刷新评论示例

    下面就为大家带来一篇 ajax无刷新评论示例.学习还是有点帮助的,给大家做个参考吧. 这是留言板的界面,当用户点击提交留言的时候,自动提交到我的留言下面 留言内容中为空,或者为灰色的"没有填 ...

  9. 一起谈.NET技术,ASP.NET MVC2.0在Tab页中实现异步无刷新分页

    概述 很多地方都存在以Tab页来呈现数据的方式,比如网易.新浪.搜狐.QQ等知名的门户网站的首页,还有大家熟知的博客园首页,都是用了tab页来显示数据.大家之所以喜欢用Tab,因为它能大大的增加显示数 ...

最新文章

  1. 「AI 质检员」在富士通上岗,效率比人工高 25%
  2. Hyper-V 3.0实用技巧:创建虚拟机组快照
  3. ASP.NET WebForm中用async/await实现异步
  4. usb接口供电不足_电脑USB接口不够用?来试试ORICO条纹hub扩展器吧
  5. ContentValues(Java)
  6. java 静态对象数组_Java静态方法和实例方法 java中的数组作为形参传入
  7. [控件] LabelView
  8. Spring Cloud Gateway Predicate.Path过滤分析
  9. 面向对象—的__new__()方法详解
  10. python的函数代码块_Python从菜鸟到高手(8):print函数、赋值与代码块
  11. Modelsim-altera 仿真 顶层原理图的解决办法
  12. 对所谓原生软件的偏执
  13. IOS之未解问题--给UITableView提取UITableViewDataSource并封装瘦身失败
  14. 用mysql搭建蚂蚁笔记_利用蚂蚁笔记搭建个人云笔记/博客
  15. Rust 从入门到精通12-集合
  16. java教程——电商秒杀系统介绍
  17. android微信post提交表单,微信自带浏览器不支持form表单post提交方案解决
  18. 联想M490 开机U盘启动 快捷键
  19. Introduction to NMOS and PMOS Transistors
  20. php路由固件升级提示,【2017年整理】路由器固件修改教程(个人理解)-无线路由区-中国无线论坛 -.doc...

热门文章

  1. tmux的使用方法和个性化配置
  2. 128条形码计算,利用Code 128字体实现条码打印
  3. .Net上下文Context  学习记录
  4. linux+tomcat+oracle_第二步
  5. 客户区和非客户区指的什么?窗口客户区和视图客户区的区别
  6. windows7升级安装之初体验
  7. Apache2.2提示Cannot load php5apache2.dll into server的的解决
  8. 一个.Net Framework下的线程库
  9. 虚拟机vs裸金属服务器,裸金属是虚拟机还是物理机
  10. Xamarin Android提示找不到资源属性定义