不少系统都需要实现省市区三级联动下拉,像人口信息管理、电子商务网站、会员管理等,都需要填写地址相关信息。而用ajax实现的无刷新省市区三级联动下拉则可以改善用户体验,目前基本上所有网站都是采用这一种方式。现在ajax的使用已经不像最初那样使用最原始的方法了,因为有很多的js框架供我们选择,我们只需要调用它们的一个方法就可以实现ajax功能,而其他的则交给js组件去完成。
最近整理了一份最新的全国省市区县数据库,再加上之前还没有在jsp中实现过省市区三级联动下拉,于是今天就花了一点时间结合jquery框架来实现。
下面简单描述一下老k这次利用jsp+jquery实现省市区三级联动下拉的过程。
1.数据库准备
本实例使用的数据是mysql,把demo.sql导入到数据库中即可。
2.java后端
新建一个servlet,实现从数据库中读取数据,并把返回结果以json的格式输出到前端。要使用servlet,还需要在web.xml中进行配置。
3.jsp前端
调用jquery
ajax方法调用servlet获取数据,前端利用json的相关js组件来把json字符串转换成js对象并循环生成下拉选项数据。为第一级和第二级下拉分别加上onchange事件。
到此已经大功告成,具体的代码可以下载本文java实例源码:jsp结合jquery实现省市区三级联动下拉
(1)
查看,下载后用myeclipse导入并部署到tomcat就可以访问项目看到效果了。程序比较容易扩展,如果数据齐全,实现n级联动下拉也是轻而易举的。