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

的脚印,欢迎评论!

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

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

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. Scalaz(35)- Free :运算-Trampoline,say NO to StackOverflowError

    在前面几次讨论中我们介绍了Free是个产生Monad的最基本结构.它的原理是把一段程序(AST)一连串的运算指令(ADT)转化成数据结构存放在内存里,这个过程是个独立的功能描述过程.然后另一个独立运算 ...

  2. 容器--IdentityHashMap

    一.概述 IdentityHashMap也是一类特殊的Map,根据其名字,Identity,即同一性,其表现出的具体特点便是,在判断Map中的两个key是否相等时,只通过==来判断,而不通过equal ...

  3. 【LeetCode】389 Find the Difference(java)

    原题 Given two strings s and t which consist of only lowercase letters. String t is generated by rando ...

  4. 【Effective Java】6、使用复合优先于使用继承

    这个,不管是什么书都会这样说,因为常常我们并不需要继承,而只是想把类进行一定的扩展,而我们想扩展的属性或方法对应的类都有,这个时候如果两者是is a的关系,这种关系是确实存在的,那么就可以使用继承,不 ...

  5. linux信任公钥的配置

    一.每个用户都有自己的家目录 访问方式是:~/.ssh/id_rsa.pub 使用~就是表示家目录. 具体家目录在哪里,在用户密码配置文件中:/etc/passwd中.第6列的值就是. 可以使用~访问 ...

  6. C#异步下载文件--基于http请求

    1.废话不多说,直接上代码: using System; using System.IO; using System.Net; namespace AsyncProgram { class Progr ...

  7. this指向问题

    我今天下午本来想做个就是tr鼠标移出之后过三秒把对应的input添加hiddens类 然后我就这样写了 $('.table>tbody>tr').mouseout(function(){ ...

  8. jquery.sobox 经典版弹窗控件

    sobox 是一款非常实用的,基于 jQuery 的弹窗控件.功能非常完整,而代码量又非常少(压缩完仅8k不到)的一款弹窗控件,如果你熟悉ext的弹窗控件,那么sobox的使用对你来说应该是愉悦而完全 ...

  9. 分享5种风格的 jQuery 分页效果【附代码】

    jPaginate 是一款非常精致的分页插件,提供了五种不同风格的分页效果,支持鼠标悬停翻页,快速分页功能.这款插件还提供了丰富的配置选项,你可以根据需要进行设置. 效果演示      源码下载 各个 ...

  10. 性能更好的js动画实现方式——requestAnimationFrame

    用js来实现动画,我们一般是借助setTimeout或setInterval这两个函数,css3动画出来后,我们又可以使用css3来实现动画了,而且性能和流畅度也得到了很大的提升.但是css3动画还是 ...