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 相关文章推荐
jquery 选择器部分整理
Oct 28 Javascript
jQuery对象和DOM对象使用说明
Jun 25 Javascript
jquery解决图片路径不存在执行替换路径
Feb 06 Javascript
Jquery实现网页跳转或用命令打开指定网页的解决方法
Jul 09 Javascript
优化Node.js Web应用运行速度的10个技巧
Sep 03 Javascript
JQuery中使用on方法绑定hover事件实例
Dec 09 Javascript
微信小程序 参数传递详解
Oct 24 Javascript
原生JS实现简单放大镜效果
Feb 08 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
Jul 03 Javascript
vue实现图片预览组件封装与使用
Jul 13 Javascript
如何手写简易的 Vue Router
Oct 10 Javascript
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 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
使用无限生命期Session的方法
2006/10/09 PHP
在同一窗体中使用PHP来处理多个提交任务
2008/05/08 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
2010/03/14 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
JavaScript的RequireJS库入门指南
2015/07/01 Javascript
图解js图片轮播效果
2015/12/20 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
Vue声明式渲染详解
2017/05/17 Javascript
JavaScrpt中如何使用 cookie 设置查看与删除功能
2017/07/09 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
vue登录页面cookie的使用及页面跳转代码
2019/07/10 Javascript
Python写的一个简单DNS服务器实例
2014/06/04 Python
在Windows8上的搭建Python和Django环境
2014/07/03 Python
解决Python出现_warn_unsafe_extraction问题的方法
2016/03/24 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
Python生成器以及应用实例解析
2018/02/08 Python
PyTorch上搭建简单神经网络实现回归和分类的示例
2018/04/28 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
四方通行旅游网:台湾订房、出国旅游
2017/09/20 全球购物
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
澳大利亚最便宜的网上药房:Chemist Warehouse
2020/01/30 全球购物
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
物理教师自荐信范文
2013/12/28 职场文书
策划总监岗位职责
2014/02/16 职场文书
警校毕业生自我评价
2014/04/06 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
好员工观后感
2015/06/17 职场文书
关于观后感的作文
2015/06/18 职场文书
公司保密管理制度
2015/08/04 职场文书
小学生教师节广播稿
2015/08/19 职场文书
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android