jQuery+jsp实现省市县三级联动效果(附源码) - Web前端
作者:98wpeu发布时间:2026-08-10分类:网页前端技术浏览:1
导读:本文实例讲述了JQuery+JSp实现省市县三级联动效果的方法。分享给大家供大家参考,具体如下:在这里,用mysql数据库存储了全国所有的省市县地区信息(点击此处下载源代码)使...
本文实例讲述了JQuery+JSp实现省市县三级联动效果的方法。分享给大家供大家参考,具体如下:
在这里,用mysql数据库存储了全国所有的省市县地区信息(点击此处下载源代码)
使用过的jar包
google的Gson.jar
MySQL-connector-java-5.1.13-bin.jar
将实验图贴出来:

显示页面index.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>省市区三级联动下拉菜单</title>
<script type="text/javascript" src="<%=path %>/js/jQuery/jquery-1.7.min.js"></script>
<script type="text/JavaScript" src="<%=path %>/js/json/JSON-minified.js"></script>
</head>
<body>
<table>
<tr>
<td>
省份:
<select name="PRovince" id="province" onchange="onSelectChange(this,'city');"></select>
城市:
<select name="city" id="city" onchange="onSelectChange(this,'district');">
<option value="">请选择</option>
</select>
区(县):
<select name="district" id="district">
<option value="">请选择</option>
</select>
</td>
</tr>
</table>
</body>
</html>
<script type="text/Javascript">
function onSelectChange(obj,toSelId){
setSelect(obj.value,toSelId);
}
function setSelect(fromSelVal,toSelId){
//alert(document.getElementById("province").selectedIndex);
document.getElementById(toSelId).innerHTML="";
jquery.Ajax({
url: "<%=path%>/getDropdowndataServlet",
CAChe: false,
data:"parentId="+fromSelVal,
success: function(data){
createSelectObj(data,toSelId);
}
});
}
function createSelectObj(data,toSelId){
var arr = JSONParse(data);
if(arr != null && arr.length>0){
var obj = document.getElementById(toSelId);
obj.innerHTML="";
var NullOp = document.createElement("option");
nullOp.setAttribute("value","");
nullOp.appendChild(document.createTextnode("请选择"));
obj.appendChild(nullOp);
for(var o in arr){
var op = document.createElement("option");
op.setattribute("value",arr[o].id);
//op.text=arr[o].name;//这一句在IE下不起作用,用下面这一句或者innerHTML
op.APPendChild(document.createTextNode(arr[o].name));
obj.appendChild(op);
}
}
}
setSelect('1','province');
</script>
数据库交互GetDropdownDataServlet
public class GetDropdownDataServlet extends httpservlet {
public void doGet(HTTPServletRequest request, httpServletResponse response)
throws IOException, ServletException {
dopost(request, response);
}
public void doPost(HTTPServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String parentId = request.getParameter("parentId");
if (parentId == null || parentId == "") {
parentId = "0";
}
Connection conn = null;
String json = "";
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/dropdown",
"root", "root");
Statement stat = conn.createStatement();
ResultSet rs = stat
.executeQuery("select region_id,region_name from region where parent_id = "
+ parentId);
Arraylist rsList = new arrayList();
map map = null;
while (rs.next()) {
map = new HashMap();
map.put("id", rs.getint(1));
map.put("name", rs.getString(2));
rsList.add(map);
}
rs = null;
Gson gson = new Gson();
json = gson.toJson(rsList);
System.out.println("json=" + json);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
response.setcharacterEncoding("UTF-8");
response.getWriter().print(json);
}
}
希望本文所述对大家JQuery程序设计有所帮助。
相关推荐
- 浅析jQuery移动开发中内联按钮和分组按钮的编写 - Web前端
- jQuery mobile类库使用时加载导航历史的方法简介 - Web前端
- jquery实现移动端点击图片查看大图特效 - Web前端
- 基于Jquery实现仿百度百科右侧导航代码附源码下载 - Web前端
- jquery组件WebUploader文件上传用法详解 - Web前端
- 纯jquery实现模仿淘宝购物车结算 - Web前端
- 基于jquery实现鼠标滚轮驱动的图片切换效果 - Web前端
- 基于jquery实现可定制的web在线富文本编辑器附源码下载 - Web前端
- jQuery实现简易的天天爱消除小游戏 - Web前端
- jquery组件WebUploader文件上传用法详解 - Web前端
- 网页前端技术排行
-
- 1[Web前端]用javascript实现默认图片替代未显示的图片 - Web前端
- 2分析Iconfont-阿里巴巴矢量常用图标库 - Web前端
- 3jQuery实例教程:制作网页中可折叠的面板 - Web前端
- 4【第六章】Foundation之按钮和下拉功能 - Web前端
- 5基于jquery的滚动条滚动固定div(附演示下载) - Web前端
- 6jQuery编写widget的一些技巧分享 - Web前端
- 7分享精心挑选的12款优秀jQuery Ajax分页插件和教程 - Web前端
- 8jQuery实现鼠标移到元素上动态提示消息框效果 - Web前端
- 9在Mac/PC上远程调试iPhone/iPad上的网页 - Web前端
- 最近发表
-
- WordPress随机显示特色图片插件:Random Post Thumbnails
- KeePass实现Chrome浏览器自动填充密码方法一
- LNMP一键包nginx 301强制跳转到https教程
- KeePass实现Chrome浏览器自动填充密码方法二
- #建站# 免费的VPS管理软件Xshell8/Xftp8中文版下载
- 使用Xshell 8连接VPS教程_电脑登录vps的方法
- WordPress评论界面添加烟花????效果
- 不同浏览器书签同步方案:坚果云+Floccus_详细使用教程
- iOS端KeePassXC客户端APP:Strongbox Password Safe
- 给WordPress评论中的Gravatar头像图片添加ALT属性


