在博客园学习了很多实用的东西,现在该慢慢开始自己写写博客文章, 由于本人水平有限,刚走出校园的小菜鸟,另外,文章在表述和代码方面如有不妥之处,欢迎批评指正。留下你

的脚印,欢迎评论!

有什么问题,可以互相探讨,希望对各位有所帮助。开始讲东西吧

一个现实城市下拉框的界面

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实现)的更多相关文章

  1. MVC实现省级联动

    前言 省级联动的效果,网上现成的都有很多,各种JS实现,Jquery实现等等,今天我们要讲的是在MVC里面,如何更方便.更轻量的实现省级联动呢? 实现效果如下: 具体实现 如图所示,在HTML页非常简 ...

  2. jQuery写省级联动列表,创造二维数组,以及如何存/调用二维数组中的数据

    jQuery写省级联动列表,创造二维数组来存放数据,然后通过each来遍历调用,通过creatTxtNode创建文本节点,通过createElement创建标签option,在通过append将文本写 ...

  3. 三级联动(ajax)

    <body> <div id="zhuti"></div> </body><script type="text/ja ...

  4. MVC二级联动使用$.ajax方法获取后端返回的字符串

    在"MVC二级联动使用$.getJSON方法"中使用$.getJSON()获取后端返回的JSon. 本篇使用jQuery的$.ajax()获取后端返回的字符串,实现二级联动.   ...

  5. 多级联动系列——ajax调用XML实现三级联动

    ajax 使用起来特别的方便,再也不操心浏览器兼容问题了.用ajax调用XML页面中的内容,来生成三级联动,OK废话不多说,跟着我一步步写吧. 首先写一个XML文件.data.xml <?xml ...

  6. 模态框的理解 ,jQ: loading,进度条, 省级联动 表单验证 插件

    模态框: 打开一个弹框 不关闭它就不能做框外的操作 必须关闭或弹出另外的弹框 加载延迟loading + 进度条只要有请求 就处理一下监控ajax 全局事件jquery: $('#box').ajax ...

  7. ComboBox联动 (AJAX BS实现)

    //从webservice中取数据ajax            Ext.Ajax.request({                url: 'WebService.asmx/GetComboxFi ...

  8. 三级联动(ajax同步)

    html <div id="frame"></div> js $(function(){ //拼接省市区下拉框 var str = `<select ...

  9. 省市联动初探AJAX操作数据

    主要学习代码: List.html <script type="text/javascript"> function GetXhr() { return new XML ...

随机推荐

  1. 简单理解——面向切面编程(AOP)

    在传统的编写业务逻辑处理代码时,我们通常会习惯性地做几件事情:日志记录.事务控制及权限控制等,然后才是编写核心的业务逻辑处理代码.当代码编写完成回头再看时,不禁发现,扬扬洒洒上百行代码中,真正用于核心 ...

  2. [TypeScript] Dictionary范例

    [TypeScript] Dictionary范例 Playground http://tinyurl.com/o7czcxo Samples class Dictionary { [index: s ...

  3. 【HTML5】浅析HTML5应用程序缓存(ApplicationCache)

    一.为什么需要Web应用程序缓存 在移动互联网时代,设备终端位置不再固定,依赖无线信号,网络的可靠性变得降低,比如坐在火车上,过了一个隧道(15分钟),便无法访问网站,这对于web的伤害是很大的    ...

  4. array's filter

    var arr = [ { id: 15 }, { id: -1 }, { id: 0 }, { id: 3 }, { id: 12.2 }, { }, { id: null }, { id: NaN ...

  5. iOS:JSON格式字符串转字典,字典转JSON格式字符串

    在iOS开发中,和服务器交互中,经常用到字典和JSON格式字符串相互转换. 代码如下: 1.JSON格式字符串转字典 + (NSDictionary *)dictionaryWithJsonStrin ...

  6. .Net关闭数据库连接时判断ConnectionState为Open还是Closed?

    两种写法: if (conn.State == System.Data.ConnectionState.Open)            {                conn.Close();  ...

  7. Windows下修改Android手机的hosts

    Windows下修改Android手机的hosts 1.首先,手机是Root过的. 2.连接手机和电脑, adb shell 进入命令行. 3.获取root用户权限: su -root 4.不知道为何 ...

  8. Android 中的编码与解码

    前言:今天遇到一个问题,一个用户在登录的时候,出现登录失败.但是其他用户登录都是正常的,经过调试发现登录失败的用户的密码中有两个特殊字符: * .#  . 特殊符号在提交表单的时候,出现了编码不一样的 ...

  9. iOS UIProgressView控件用法

    IOS中进度条控件的用法总结. 进度条控件是IOS开发中一个简单的系统控件,使用总结如下: 初始化一个进度条: - (instancetype)initWithProgressViewStyle:(U ...

  10. iOS 边框显示不完全

    设置边框为1以上就可以了,如果不觉得宽的话!