省级联动(使用ajax实现)
在博客园学习了很多实用的东西,现在该慢慢开始自己写写博客文章, 由于本人水平有限,刚走出校园的小菜鸟,另外,文章在表述和代码方面如有不妥之处,欢迎批评指正。留下你
的脚印,欢迎评论!
有什么问题,可以互相探讨,希望对各位有所帮助。开始讲东西吧
一个现实城市下拉框的界面
html代码:
<table>
<tr>
<td><h5>城市下拉框</h5></td>
<td>
<select id="top" style="width:130px">
<option>请选择省市/其他...</option>
</select>
<select id="center" style=" width:130px">
<option >请选择城市/其他...</option>
</select>
<select id="button" style=" width:130px">
<option>请选择县/区...</option>
</select>
</td>
</tr>
</table>
js代码:我这里使用的jquery操作Dom和ajax,所以要导入jquery脚本,这里就不提供了,到官方网站下载都有
<script type="text/javascript">
$(function() {
// setCity("top", "0");//页面加载时就现实数据库第一个数据,一定要加上
setCity("top", "0");
$("#top").change(function() {
// 当省级改变的时候,让市级和县级文本清空
$("#center option").remove();
$("#button option").remove();
//获得省级的id
var pid=$("#top option:selected").attr("id");
//加载该省级的市级数据
setCity("center", pid);
});
$("#center").change(function() {
//当市级改变的时候,让县级文本清空
$("#button option").remove();
//获取城市的pid
var pid=$("#center option:selected").attr("id");
//加载该省市级的县级数据
setCity("button",pid );
});
});
//selectid:select标签的id,pid数据库省级县级的pid
function setCity(selectid, pid) {
$.ajax({
url : "/code_20150406(Ajax_XStream_Json)/CtiyServlet?pid="+pid,
type : "get",
cache : false,
success : function(res) {
//注意!!!这里必须使用eval(res)函数,否则获取到的json数据无法遍历,无话获取到数据
var arr = eval(res);
//遍历返回的json数据加载到select标签;
$.each(arr, function(key, val) {
$("#" + selectid).append(
" <option id='" + val.tb_AreaId + "'>"
+ val.areaName + "</option>");
});
}
});
};
</script>
Servlet查询数据库的代码:
1.返回json数据
/**
* 收货地址=>显示城市下拉框
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
//获取省级或市级的pid
int i = Integer.valueOf(request.getParameter("pid"));
//查询数据库数据(我这里是使用是DbUtils获取数据数据,这里可以自身使用的框架来查询数据)
List<tb_Area> list = dao.getbyAreaid(i);
//返回json数据:这里返回的一个JavaBBean的List集合,所以要使用JSONArray.fromObject(list)来转换json数据
response.getWriter().print(JSONArray.fromObject(list));
}
2.javabean代码
public class tb_Area {
private Integer tb_AreaId;
private String areaName;
public Integer getTb_AreaId() {
return tb_AreaId;
}
public void setTb_AreaId(Integer tb_AreaId) {
this.tb_AreaId = tb_AreaId;
}
public String getAreaName() {
return areaName;
}
public tb_Area() {
}
@Override
public String toString() {
return "tb_Area [tb_AreaId=" + tb_AreaId + ", areaName=" + areaName
+ ", areaPid=" + areaPid + "]";
}
public void setAreaName(String areaName) {
this.areaName = areaName;
}
public Integer getAreaPid() {
return areaPid;
}
public void setAreaPid(Integer areaPid) {
this.areaPid = areaPid;
}
private Integer areaPid;
}
数据库
http://pan.baidu.com/s/1gdw1Osj点击链接下载,这里是txt文件,导入数据库是用的是逗号分隔符,注意数据库子字段的命名即如图
运行下成功页面
好了 ,搞定了,要是有什么问题欢迎评论!!!
省级联动(使用ajax实现)的更多相关文章
- MVC实现省级联动
前言 省级联动的效果,网上现成的都有很多,各种JS实现,Jquery实现等等,今天我们要讲的是在MVC里面,如何更方便.更轻量的实现省级联动呢? 实现效果如下: 具体实现 如图所示,在HTML页非常简 ...
- jQuery写省级联动列表,创造二维数组,以及如何存/调用二维数组中的数据
jQuery写省级联动列表,创造二维数组来存放数据,然后通过each来遍历调用,通过creatTxtNode创建文本节点,通过createElement创建标签option,在通过append将文本写 ...
- 三级联动(ajax)
<body> <div id="zhuti"></div> </body><script type="text/ja ...
- MVC二级联动使用$.ajax方法获取后端返回的字符串
在"MVC二级联动使用$.getJSON方法"中使用$.getJSON()获取后端返回的JSon. 本篇使用jQuery的$.ajax()获取后端返回的字符串,实现二级联动. ...
- 多级联动系列——ajax调用XML实现三级联动
ajax 使用起来特别的方便,再也不操心浏览器兼容问题了.用ajax调用XML页面中的内容,来生成三级联动,OK废话不多说,跟着我一步步写吧. 首先写一个XML文件.data.xml <?xml ...
- 模态框的理解 ,jQ: loading,进度条, 省级联动 表单验证 插件
模态框: 打开一个弹框 不关闭它就不能做框外的操作 必须关闭或弹出另外的弹框 加载延迟loading + 进度条只要有请求 就处理一下监控ajax 全局事件jquery: $('#box').ajax ...
- ComboBox联动 (AJAX BS实现)
//从webservice中取数据ajax Ext.Ajax.request({ url: 'WebService.asmx/GetComboxFi ...
- 三级联动(ajax同步)
html <div id="frame"></div> js $(function(){ //拼接省市区下拉框 var str = `<select ...
- 省市联动初探AJAX操作数据
主要学习代码: List.html <script type="text/javascript"> function GetXhr() { return new XML ...
随机推荐
- 2016 大连网赛---Weak Pair(dfs+树状数组)
题目链接 http://acm.split.hdu.edu.cn/showproblem.php?pid=5877 Problem Description You are given a rooted ...
- Python私有变量
# 访问限制的保护,代码更加健壮 class Student(object): def __init__(self,name,score): self.__name= name self.__scor ...
- 客观评价C#的优点和缺点
对于C#,coder中可以分为2类:一类是C#死忠,对它赞赏到极点:另一类刚好相反,对它极度排斥. 本文将以全面.客观的方式评价这门语言,特别是语法方面. 其实很多人评价一门语言是带着一种感情色彩的. ...
- javascript的switch的使用注意
如果是以下代码: <script> var t_keleyi_com = 65; switch (t_keleyi_com) { case '65': alert("字符串65. ...
- 百度地图API使用方法详解
最近做了个项目,其中项目中有个需求需要用到百度地图进行导航,通过查阅相关资料参考百度地图api完成了一个例子. API地址:http://developer.baidu.com/map/jsdemo. ...
- Delphi 获取系统时间后格式化输出
问题:客户现场程序运行提示时间格式不对导致的错误,原因是与开发环境及公司内部测试环境的日期格式不一致: 解决:统一强制转换: //引用单元:SysUtils //目的:实现跨环境兼容不同日期格式,如果 ...
- HTML5 video 和 audio
video 用于在HTML或者XHTML文档中嵌入视频内容 使用 video 元素至少要提供两种视频格式的文件:OGG 和 MP4 OGG:采用 Theora 视频格式和 Vorbis 音频解码器 ( ...
- 【转】ES6 手册
目录 var 和 let/const 的比较 用块级作用域代替 IIFES 箭头函数 字符串 解构 模块 参数 类 Classes Symbols Maps WeakMaps Promises Gen ...
- Android实现登录
登录界面布局文件 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android ...
- 操作系统开发系列—13.a.进程 ●
进程的切换及调度等内容是和保护模式的相关技术紧密相连的,这些代码量可能并不多,但却至关重要. 我们需要一个数据结构记录一个进程的状态,在进程要被挂起的时候,进程信息就被写入这个数据结构,等到进程重新启 ...