jQuery+Ajax+Jsp做二级级联
终于弄懂了这个级联,我去!必须得在博客记下来。
1, JS代码:
$(document).ready(function(){
$("#select1").change(function(){
adjustCountyDropDown();
});
});
function adjustCountyDropDown(){
var selectedCity= $("#select1").val();
var county= $("#select2");
if(selectedCity.length== 0){
county.attr("disabled", true);
}
else{
county.attr("disabled", false);
//ajax异步
$.getJSON(
'http://localhost:8080/TestStu/ajaxSelectCityTest', //ajax提交的地址,我这里是servlet文件
{city: selectedCity}, //传递的参数,将city这个参数传到ajaxSelectCityTest这个servlet
function(data){ //data为返回的数据
county.empty(); //jQuery清空options
county.append("<option value=''>Please Choose:</option>");
$.each(data, function(i, value) {
county.append("<option value=" + value.add_county + ">" + value.add_county+ "</option>");
});
}
);
}
}
2, 后台Servlet
package test.servlet; import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ruchi.dao.impl.addDaoImpl;
import com.ruchi.entity.addEntity;
import com.ruchi.util.ConnectionFactory;
import net.sf.json.JSONArray; public class selectCity extends HttpServlet { private static final long serialVersionUID = 7609673947157450475L; @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
} @Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Pragam", "No-cache");
PrintWriter pw = response.getWriter();
Connection con = ConnectionFactory.getInstance().makeConnection();
try {
List<addEntity> list = new ArrayList<addEntity>();
// String city= ${Parameter.selectedCity};
System.out.println("Before : ");
String city = request.getParameter("city"); //接收来自前端传来的参数,后面的这个 city 就是第一片JS代码的第18行传来的
System.out.println("You Just Reciived: "+ city);
addDaoImpl adi = new addDaoImpl(); //以下为获取后台数据
list = adi.getCountyByCity(con, city); //list为获取的所有数据
JSONArray jsonArray = JSONArray.fromObject(list); //jsonArray为list转为成的JSON数据
System.out.println(jsonArray.toString());
pw.print(jsonArray.toString()); //将jsonArray返回到前台 被第一片JS代码的第19行接收
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
con.close();
} catch (Exception e2) {
e2.printStackTrace();
}
pw.close();
}
}
}
3, JSP页面代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.util.Date"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script src= "http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script>
<script src="ajaxTest.js"></script>
<script src="ajaxSelectCityTest.js"></script>
</head>
<body>
<center>
<h2>级联</h2> <select id="select1">
<option value="">Please Choose:</option>
<option value="xiamen">xiamen</option>
<option value="changsha">changsha</option>
<option value="anyang">anyang</option>
<option value="beijing">beijing</option>
</select> <hr />
<select id="select2">
<option value=''>Please Choose:</option>
</select>
</center>
</body>
</html>
4, 当然还有一些javaBean代码,操作数据库代码以及web.xml配置文件没有贴出来。
欢迎交流!
jQuery+Ajax+Jsp做二级级联的更多相关文章
- jquery ajax实现省市二级联动
今天给大家带来使用jQuery ajax实现的省市联动效果.我们直奔主题,先说下实现思路: 准备数据 这里数据库我使用的是mysql,先看下表格: provience表 city表 这里使用provi ...
- Jquery+Ajax下拉框级联查询
- jQuery - AJAX 级联变动
此篇文章主要是用来记忆使用JQUERY+AJAX技术实现 二级级联变动 : 当第一个下拉框变动时,第二个下拉列表框中也将会随之变动. JSP: ---------------------------- ...
- jQuery学习之jQuery Ajax用法详解
jQuery Ajax在web应用开发中很常用,它主要包括有ajax,get,post,load,getscript等等这几种常用无刷新操作方法,下面我来给各位同学介绍介绍. 我们先从最简单的方法看起 ...
- jQuery学习之jQuery Ajax用法详解(转)
[导读] jQuery Ajax在web应用开发中很常用,它主要包括有ajax,get,post,load,getscript等等这几种常用无刷新操作方法,下面我来给各位同学介绍介绍.我们先从最简单的 ...
- [转]Jquery Ajax用法
原文地址:http://www.php100.com/html/program/jquery/2013/0905/6004.html jQuery学习之jQuery Ajax用法详解 来源: 时间 ...
- jQuery Ajax用法
jQuery Ajax在web应用开发中很常用,它主要包括有ajax,get,post,load,getscript等等这几种常用无刷新操作方法,下面我来给各位同学介绍介绍. 我们先从最简单的方法看起 ...
- jQuery学习之jQuery Ajax用法详解(转)
jQuery Ajax在web应用开发中很常用,它主要包括有ajax,get,post,load,getscript等等这几种常用无刷新操作方法,下面我来给各位同学介绍介绍. 我们先从最简单的方法看起 ...
- (高级篇)jQuery学习之jQuery Ajax用法详解
jQuery Ajax在web应用开发中很常用,它主要包括有ajax,get,post,load,getscript等等这几种常用无刷新操作方法,下面我来给各位同学介绍介绍. 我们先从最简单的方法看起 ...
随机推荐
- ny 58 最少步数 (BFS)
题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=58 就是一道简单的BFS 练习练习搜索,一次AC #include <iostream& ...
- Bluetooth 2.1+EDR是什么
目前应用最为广泛的是 Bluetooth 2.0+EDR标准,该标准在2004年已经推出,支持Bluetooth 2.0+EDR标准的产品也于2006年大量出现.虽然Bluetooth 2.0+EDR ...
- HDU 1076 An Easy Task
题解:枚举即可…… #include <cstdio> int main(){ int now,y,n,T,count; scanf("%d",&T); whi ...
- Michael Kors成了时尚行业的公敌-股票频道-和讯网
Michael Kors成了时尚行业的公敌-股票频道-和讯网 Michael Kors成了时尚行业的公敌 字号 评论 邮件 纠错 2014年03月03日17:32 来源:财经天下 全球消费不 ...
- 关于如何使用three.js的小教程<一>
昨天看了看three.js这个东西,身为一个3D引擎,他还是非常强大的.官网上有个tutorial讲的不甚具体.http://aerotwist.com/tutorials/getting-start ...
- 套接字socket 的地址族和类型、工作原理、创建过程
注:本分类下文章大多整理自<深入分析linux内核源代码>一书,另有参考其他一些资料如<linux内核完全剖析>.<linux c 编程一站式学习>等,只是为了更好 ...
- Java项目打包工具安装失败解决方法
在学习Java的时候我们打包项目但遇到例如以下情况:(提示没有找到java的执行环境! ) 网上眼下有两中的解决方式: (1)选择本地jdk环境; (2)下载Download 可是第一种选择本地老是失 ...
- ostringstream的使用方法
ostringstream的使用方法 [本文来自]http://www.builder.com.cn/2003/0304/83250.shtml http://www.cppblog.com/alan ...
- iOS实践02
第二天了,上了一天课,软件测试.数据挖掘.概率论,晚上了才有时间捣鼓捣鼓程序. 今天只是简单的做了一点.觉得自己思考的写不出来,只能简单的写一个过程,不像第一次写这个,少了很多思考的. 1.完善tab ...
- ArrayList-VS-LinkedList
ArrayList 是List接口的实现类:底层的数据结构是数组,而LinkedList底层数据结构是双向循环链表. 所以在查询时ArrayList效率高,增删时LinkedList高.由于List中 ...