JavaWeb 省市级菜单如何被选中

红太狼 2021-09-10 15:10 328阅读 0赞

JavaWeb 省市级菜单如何被选中。

效果图

这里写图片描述这里写图片描述

数据组装

如果向initProcitys方法传递一个市的code,比如说洛阳的HNLY,那么根据HNLY的唯一性,确定省的选中项。确定完省市级的选中项后,为其增加selected属性。

  1. package com.hc.jf.controller;
  2. import java.util.List;
  3. import org.apache.log4j.Logger;
  4. import com.hc.jf.entity.Citys;
  5. import com.hc.jf.entity.Provincials;
  6. import com.jfinal.kit.JsonKit;
  7. public class ProcityController extends BaseController {
  8. private static Logger logger = Logger.getLogger(ProcityController.class);
  9. public void initProcitys() {
  10. logger.info("获取所在地区");
  11. String city_code = getPara(0);
  12. String pro_code = "";
  13. // 则说明是展示页面,此时需要为省级菜单和市级菜单设置选择项
  14. if (city_code != null) {
  15. Provincials selected_provincial = Provincials.me.getProvincialByCitycode(city_code);
  16. pro_code = selected_provincial.getStr("procode");
  17. }
  18. List<Provincials> provincials = Provincials.me.getProvincials();
  19. for (Provincials provincial : provincials) {
  20. if (!pro_code.equals("") && provincial.get("procode").equals(pro_code)) {
  21. provincial.put("selected", "selected");
  22. }
  23. List<Citys> citys = Citys.me.getCitysByProvincialId(provincial.getLong("id"));
  24. for (Citys city : citys) {
  25. // 市级菜单被选中
  26. if (city_code != null && city.get("code").equals(city_code)) {
  27. city.put("selected", "selected");
  28. break;
  29. }
  30. }
  31. provincial.put("citys", JsonKit.toJson(citys));
  32. }
  33. setAttr("provincials", provincials);
  34. render("procity.jsp");
  35. }
  36. }
  1. 要想知道哪个省市级被选中,只需要参数中传递一个市级菜单code就可以了,比如BJBJ。
  2. 那么根据BJBJ为省级菜单、市级菜单分别添加selected,当然只为要选中的项目。

前端显示处理

前端显示的规则就是拿到有selected属性的项目,进行选中显示。

  1. <option value="${item.procode}" cdata='${item.citys}' <c:if test="${item.selected=='selected'}">selected="selected"</c:if>>${item.proname}</option>

省级的用jstl来判断属性后添加。

  1. var selected = city_data[i].selected;
  2. if (selected == 'selected') {
  3. $city_select.append("<option value='"+code+"' selected>"+cname+"</option>");
  4. } else {
  5. $city_select.append("<option value='"+code+"'>"+cname+"</option>");
  6. }

市级的自然也根据市级的selected来添加。


相关文章

  • 创建省市级关联菜单

笑对现实的无奈,不能后退的时候,不再傍徨的时候,永远向前 路一直都在──陈奕迅《路一直都在》
本文出自:【沉默王二的博客】

发表评论

表情:
评论列表 (有 0 条评论,328人围观)

还没有评论,来说两句吧...

相关阅读

    相关 选中

      现象:html中可能有些地方不想让用户复制文字,或是用a标签做了个点击按钮,点快的时候文字会被选中,很丑,这个时候可以使用下面的方案禁止文字选中。 原因:鼠标点快了文字