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等等这几种常用无刷新操作方法,下面我来给各位同学介绍介绍. 我们先从最简单的方法看起 ...
随机推荐
- U盘检测软件:ChipGenius,MyDiskTest
几年前的事情了.有一次去北邮玩,看到校园里有卖U盘的摊位,问了问价格,8GB的金士顿U盘99块钱.正好头一天有个同事跟我说最近U盘降价了,8GB才99,于是心里一痒痒就买了一个.回来用着就感觉不对劲, ...
- 解决magento保存产品时耗时很长的问题
以前我在更新产品属性值(拿price为例)的时候,通常会这样做: foreach($product_ids as $id){ $product = Mage::getModel('catalog/pr ...
- 打印NxN的矩阵
找出规律,并打印出一个NxN的矩阵,规律就是从首坐标开始顺时针依次增大: #include<iostream> #include<vector> using namespace ...
- .Net时间计算函数,统计某一天是一年的第几周,这一周从哪天开始到哪天结束
/// <summary> /// 计算某年第一周的天数 /// </summary> /// <param name="dt& ...
- Linux 电子书共享下载--大家一起学习
文件名 大小 时间 到期时间 操作 鸟哥私房菜(全集).pdf 36.57 MB 2 小时前 免费永久 练成Linux高手.chm 3.76 MB 2 小时前 免费永久 ...
- 命令行方式运行yii2程序
测试环境,yii 2.0.3版本 web访问方式,控制器放在controllers目录下 ,浏览器访问如下地址 http://127.0.0.1/index.php?r=[controller-nam ...
- 第八届河南省赛B.最大岛屿(dfs)
B.最大岛屿 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 30 Solved: 18 [Submit][Status][Web Board] De ...
- POJ3771+Prim
最小生成树的应用 数据量小. /* Prim */ #include<stdio.h> #include<string.h> #include<stdlib.h> ...
- 关于windows服务的操作
/// <summary> /// 判断是否安装了某个服务 /// </summary> /// <param name="serviceName"& ...
- AsyncSocket的长连接使用
使用背景:需要跟服务器长期保持连接进行即时通讯:还有在跟智能硬件建立实时链接进行同步智能硬件的状态等,最近我就做项目就碰到需要实时更新智能硬件的状态(比如智能硬件的电量,以及其它工作状态),跟智能硬件 ...