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困惑—包装集 DOM节点
Oct 16 Javascript
javascript移出节点removeChild()使用介绍
Apr 03 Javascript
创建、调用JavaScript对象的方法集锦
Dec 24 Javascript
angularjs基础教程
Dec 25 Javascript
jQuery UI Grid 模态框中的表格实例代码
Apr 01 jQuery
Angular2安装angular-cli
May 21 Javascript
详解EasyUi控件中的Datagrid
Aug 23 Javascript
vue 监听屏幕高度的实例
Sep 05 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
Sep 20 Javascript
Vue加载json文件的方法简单示例
Jan 28 Javascript
VUE实现自身整体组件销毁的示例代码
Jan 13 Javascript
vue2和vue3的v-if与v-for优先级对比学习
Oct 10 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翻页类
2009/06/01 PHP
PHP,ASP.JAVA,JAVA代码格式化工具整理
2010/06/15 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
2016/09/23 PHP
thinkPHP5.0框架安装教程
2017/03/25 PHP
微信企业转账之入口类分装php代码
2018/10/01 PHP
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
2014/10/14 Javascript
JavaScript组合拼接字符串的效率对比测试
2014/11/06 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
vue+elementUI实现图片上传功能
2019/08/20 Javascript
React学习之JSX与react事件实例分析
2020/01/06 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
TensorFlow实现iris数据集线性回归
2018/09/07 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
python常用函数与用法示例
2019/07/02 Python
Python使用scrapy爬取阳光热线问政平台过程解析
2019/08/14 Python
CSS3混合模式mix-blend-mode/background-blend-mode简介
2018/03/15 HTML / CSS
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
美国演唱会和体育门票购买网站:Ticketnetwork
2018/10/19 全球购物
美国在线和移动免费会员制批发零售商:Boxed(移动端的Costco)
2020/01/02 全球购物
银行工作检查书范文
2014/01/31 职场文书
就业自我评价
2014/02/04 职场文书
社区交通安全实施方案
2014/03/22 职场文书
怎样写离婚协议书
2014/09/10 职场文书
个人三严三实对照检查材料思想汇报
2014/09/22 职场文书
户籍证明模板
2014/09/28 职场文书
机关干部作风建设剖析材料
2014/10/23 职场文书
保险公司增员口号
2015/12/25 职场文书
公文写作指导之倡议书!
2019/07/03 职场文书
python实现Thrift服务端的方法
2021/04/20 Python
python元组打包和解包过程详解
2021/08/02 Python
Python中tqdm的使用和例子
2022/09/23 Python