源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-06-04 14:47 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Bootstrap+jfinal实现省市级联下拉菜单
小小一个省市级关联菜单,却耗费了一个很多时间来摸索,原因在于对jquery不熟练,既然这么辛苦完成了一个组件,自然想要共享出来,让需要的人使用。 [img]http://files.jb51.net/file_images/article/201605/2016530141037156.jpg?2016430141053[/img] 这只是一个基础版,后续还要再进行优化。 [b]代码:[/b][url=http://xiazai.jb51.net/201605/yuanma/Bootstrap+jfinal(jb51.net).rar]省市级关联菜单下载地址[/url] [b]说明:[/b] sql语句就不再说了,里面有“city.sql”、“provincial.sql”两个文件。 [b]1、先说说获取数据[/b]
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. [b]2、说说页面布局[/b]
<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属性上。 [b]3、说说js实现[/b]
$(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.) 循环遍历市级菜单,进行输出显示 如果大家还想深入学习,可以点击[url=http://www.1sucai.cn/article/84087.htm]这里[/url]进行学习,再为大家附3个精彩的专题: [url=http://www.1sucai.cn/Special/334.htm]Bootstrap学习教程[/url] [url=http://www.1sucai.cn/Special/769.htm]Bootstrap实战教程[/url] [url=http://www.1sucai.cn/Special/854.htm]Bootstrap插件使用教程[/url] 以上就是本文的全部内容,希望对大家学习Bootstrap程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部