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 相关文章推荐
比较简单的一个符合web标准的JS调用flash方法
Nov 29 Javascript
JavaScript传递变量: 值传递?引用传递?
Feb 22 Javascript
jquery调用asp.net 页面后台的实现代码
Apr 27 Javascript
JS弹出层的显示与隐藏示例代码
Dec 27 Javascript
js获取页面description的方法
May 21 Javascript
基于bootstrap3和jquery的分页插件
Jul 31 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
Aug 24 Javascript
微信开发 消息推送实现代码
Oct 21 Javascript
详解Vue组件实现tips的总结
Nov 01 Javascript
Vue + Vue-router 同名路由切换数据不更新的方法
Nov 20 Javascript
swiper 解决动态加载数据滑动失效的问题
Feb 26 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
Aug 28 Javascript
基于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
ThinkPHP内置jsonRPC的缺陷分析
2014/12/18 PHP
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
AngularJS  $modal弹出框实例代码
2016/08/24 Javascript
JavaScript无缝滚动效果的实例代码
2017/03/27 Javascript
在vue项目中安装使用Mint-UI的方法
2017/12/27 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
[01:50]2014DOTA2西雅图邀请赛 专访欢乐周宝龙
2014/07/08 DOTA
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
详细介绍Python函数中的默认参数
2015/03/30 Python
Python实现统计代码行的方法分析
2017/07/12 Python
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
python模拟键盘输入 切换键盘布局过程解析
2019/08/15 Python
150行Python代码实现带界面的数独游戏
2020/04/04 Python
python简单实现最大似然估计&amp;scipy库的使用详解
2020/04/15 Python
TensorFlow keras卷积神经网络 添加L2正则化方式
2020/05/22 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
浅谈keras.callbacks设置模型保存策略
2020/06/18 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
2020/07/21 Python
利用python 下载bilibili视频
2020/11/13 Python
法国娇韵诗官方旗舰店:Clarins是来自法国的天然护肤品牌
2018/06/30 全球购物
东南亚冒险旅行与活动:Adventoro
2019/10/16 全球购物
新加坡最早生产电动滑板车的制造商之一:FunsToTheFore
2020/09/08 全球购物
自动化职业生涯规划书范文
2014/01/03 职场文书
战略合作意向书范本
2014/04/01 职场文书
小班幼儿评语大全
2014/04/30 职场文书
在职党员进社区活动总结
2014/07/05 职场文书
产品质量保证书范本
2015/02/27 职场文书
社区扶贫帮困工作总结
2015/05/20 职场文书
婚礼嘉宾致辞
2015/07/28 职场文书
早安问候语大全
2015/11/10 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
win10安装配置nginx的过程
2021/03/31 Servers
python的netCDF4批量处理NC格式文件的操作方法
2022/03/21 Python