Bootstrap+jfinal实现省市级联下拉菜单


Posted in Javascript onMay 30, 2016

小小一个省市级关联菜单,却耗费了一个很多时间来摸索,原因在于对jquery不熟练,既然这么辛苦完成了一个组件,自然想要共享出来,让需要的人使用。

Bootstrap+jfinal实现省市级联下拉菜单

这只是一个基础版,后续还要再进行优化。

代码:省市级关联菜单下载地址

说明:

sql语句就不再说了,里面有“city.sql”、“provincial.sql”两个文件。

1、先说说获取数据

public void initProcitys() {
 logger.info("获取所在地区");
 List<Provincials> provincials = Provincials.me.getProvincials();
 for (Provincials provincial : provincials) {
 List<Citys> citys = Citys.me.getCitysByProvincialId(provincial.getLong("id"));
 provincial.put("citys", JsonKit.toJson(citys));
 }
 setAttr("provincials", provincials);
 render("procity.jsp");
}

1). 先获取所有的省级菜单。
2). 根据省级id获取对应的市级菜单。
3). 在获取市级菜单的时候,注意把list转换为json数据,这里使用了JackJson.

2、说说页面布局

<select name="province_code" id="province_select">
 <c:forEach items="${provincials}" var="item">
 <option value="${item.procode}" cdata='${item.citys}'>${item.proname}</option>
 </c:forEach>
</select>
<select name="city_code" id="city_select">
</select>

1). 使用了两个select,还没有加式样
2). 使用foreach先对省级菜单进行初始化,同时将其city数据绑定到cdata属性上。

3、说说js实现

$(function() {
 provincialChange();
 var $provincial = $("#province_select");
 $provincial.change(provincialChange);
});
function provincialChange() {
 var $provincial = $("#province_select");
 // 省级显示的code值
 var provincial_code = $provincial.val();
 var $selectedOption = $('#province_select option[value=' + provincial_code + ']');
 var city_data = YUNM.jsonEval($selectedOption.attr("cdata"));
 // 市级的菜单列表
 $city_select = $("#city_select");
 $city_select.empty();
 for (var i = 0; i < city_data.length;i++ ) {
 var code = city_data[i].code;
 var cname = city_data[i].cname;
 $city_select.append("<option value='"+code+"'>"+cname+"</option>");
 }
}

1). 页面初始化加载和省级菜单切换时,需要对市级菜单进行加载
2). 先拿到省级菜单,获取当前value,然后根据value获取option
3). 从option中获取市级数据,注意要使用eval对数据转换,具体原因可以度娘,主要是加上 ()。
4.) 循环遍历市级菜单,进行输出显示

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

以上就是本文的全部内容,希望对大家学习Bootstrap程序设计有所帮助。

Javascript 相关文章推荐
js prototype 格式化数字 By shawl.qiu
Apr 02 Javascript
JavaScript 提升运行速度之循环篇 译文
Aug 15 Javascript
jQuery.extend 函数的详细用法
Jun 27 Javascript
JavaScript中的闭包(Closure)详细介绍
Dec 30 Javascript
深入理解JavaScript的React框架的原理
Jul 02 Javascript
jQuery修改DOM结构_动力节点Java学院整理
Jul 05 jQuery
iview给radio按钮组件加点击事件的实例
Sep 30 Javascript
小程序实现抽奖动画
Apr 16 Javascript
ECharts地图绘制和钻取简易接口详解
Jul 12 Javascript
基于jQuery实现可编辑的表格
Dec 11 jQuery
JavaScript正则表达式验证登录实例
Mar 18 Javascript
vue postcss-px2rem 自适应布局
May 15 Vue.js
基于Bootstrap里面的Button dropdown打造自定义select
May 30 #Javascript
BootStrap下jQuery自动完成的样式调整
May 30 #Javascript
JavaScript常用判断写法大全(推荐)
May 30 #Javascript
基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
May 30 #Javascript
基于Angularjs实现分页功能
May 30 #Javascript
AngularJs实现分页功能不带省略号的代码
May 30 #Javascript
JS组件Bootstrap Select2使用方法解析
May 30 #Javascript
You might like
选择PHP作为网站开发语言的原因分享
2012/01/03 PHP
php发送post请求的三种方法
2014/02/11 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
NodeJs中的非阻塞方法介绍
2012/06/05 NodeJs
mailto的使用技巧分享
2012/12/21 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
js判断ie版本号的简单实现代码
2014/03/05 Javascript
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
javascript实现uploadify上传格式以及个数限制
2015/11/23 Javascript
一种新的javascript对象创建方式Object.create()
2015/12/28 Javascript
Jquery实现纵向横向菜单
2016/01/24 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
angularjs实现猜数字大小功能
2020/05/20 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
解决Vue的项目使用Element ui 走马灯无法实现的问题
2020/08/03 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
python&amp;MongoDB爬取图书馆借阅记录
2016/02/05 Python
python中实现数组和列表读取一列的方法
2018/04/03 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
python实现从wind导入数据
2019/12/03 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
详解Python实现进度条的4种方式
2020/01/15 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
会议主持词
2014/03/17 职场文书
委托公证书
2014/04/08 职场文书
安全生产专项整治方案
2014/05/06 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
员工福利申请报告
2015/05/15 职场文书
国庆阅兵观后感
2015/06/15 职场文书
小学毕业感言100字
2015/07/30 职场文书
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python