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 相关文章推荐
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
Jul 17 Javascript
框架页面高度自动刷新的Javascript脚本
Nov 01 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
May 28 Javascript
JS实现闪动的title消息提醒效果
Jun 20 Javascript
AngularJS HTML编译器介绍
Dec 06 Javascript
jQuery+CSS3实现树叶飘落特效
Feb 01 Javascript
JavaScript中利用jQuery绑定事件的几种方式小结
Mar 06 Javascript
javascript动画系列之模拟滚动条
Dec 13 Javascript
Linux CentOS系统下安装node.js与express的方法
Apr 01 Javascript
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
Aug 01 jQuery
浅谈关于iview表单验证的问题
Sep 29 Javascript
vue render函数动态加载img的src路径操作
Oct 26 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
一个简单的PHP&amp;MYSQL留言板源码
2020/07/19 PHP
PHP一些常用的正则表达式字符的一些转换
2008/07/29 PHP
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
php对mongodb的扩展(初出茅庐)
2012/11/11 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
PHP程序员不应该忽略的3点
2015/10/09 PHP
php实现基于PDO的预处理示例
2017/03/28 PHP
php通过各种函数判断0和空
2020/07/04 PHP
jQuery操作select的实例代码
2012/06/14 Javascript
jQuery中选择器的基础使用教程
2016/05/23 Javascript
js实现精确到秒的倒计时效果
2016/05/29 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
2016/08/11 Javascript
JavaScript中获取时间的函数集
2016/08/16 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
scroll事件实现监控滚动条并分页显示(zepto.js)
2016/12/18 Javascript
在bootstrap中实现轮播图实例代码
2017/06/11 Javascript
利用CDN加速react webpack打包后的文件详解
2018/02/22 Javascript
JS+H5 Canvas实现时钟效果
2018/07/20 Javascript
JavaScript或jQuery 获取option value值方法解析
2020/05/12 jQuery
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
python每隔N秒运行指定函数的方法
2015/03/16 Python
Python实现二分查找算法实例
2015/05/26 Python
Python学习小技巧总结
2018/06/10 Python
详解Python:面向对象编程
2019/04/10 Python
python五子棋游戏的设计与实现
2019/06/18 Python
python使用matplotlib绘制雷达图
2019/10/18 Python
用opencv给图片换背景色的示例代码
2020/07/08 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
幼儿园老师辞职信
2014/01/20 职场文书
吸烟检讨书2000字
2014/02/13 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
世界气象日活动总结
2015/02/27 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书