JavaWeb 创建省市级关联菜单

简介: JavaWeb 创建省市级关联菜单

JavaWeb 创建省市级关联菜单。

效果图

image.png



代码


第一次使用github,然后把相关代码进行了上传,不太会使用。

下载可以见下面地址

省市级关联菜单


说明


sql语句就不再说了,里面有“city.sql”、“provincial.sql”两个文件。


①、数据组装


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");
    }


先获取所有的省级菜单。

根据省级id获取对应的市级菜单。

在获取市级菜单的时候,注意把list转换为json数据,这里使用了JackJson.

②、页面布局


<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>
&nbsp;
<select name="city_code" id="city_select">
</select>


使用了两个select,还没有加式样

使用foreach先对省级菜单进行初始化,同时将其city数据绑定到cdata属性上。

③、change事件

$(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>");
    }
}



页面初始化加载和省级菜单切换时,需要对市级菜单进行加载

先拿到省级菜单,获取当前value,然后根据value获取option

从option中获取市级数据,注意要使用eval对数据转换,具体原因可以度娘,主要是加上 ()。

循环遍历市级菜单,进行输出显示


相关文章
|
前端开发
JavaWeb 省市级菜单如何被选中
JavaWeb 省市级菜单如何被选中
94 0
JavaWeb 省市级菜单如何被选中
|
SQL 数据格式 JSON
JavaWeb 创建省市级关联菜单
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/48828973 JavaWeb 创建省市级关联菜单。
785 0
|
前端开发
JavaWeb 省市级菜单如何被选中
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/48829907 JavaWeb 省市级菜单如何被选中。
863 0
|
24天前
|
缓存 监控 Java
线程池的魔法:Java 开发者必备的并发工具
线程池的魔法:Java 开发者必备的并发工具
31 0
|
3天前
|
缓存 安全 Java
Java并发编程中的线程安全性探讨
【2月更文挑战第6天】在Java开发中,多线程编程是一种常见的方式,然而如何确保线程安全性却是一个复杂且关键的问题。本文将深入探讨Java并发编程中的线程安全性,包括线程安全性的概念、常见的线程安全性问题以及解决方法,旨在帮助开发者更好地理解和应对多线程环境下的挑战。
|
3天前
|
缓存 安全 Java
Java并发编程中的线程安全性问题与解决方法
【2月更文挑战第6天】在Java并发编程中,线程安全性一直是一个重要的问题。本文将深入探讨Java中线程安全性问题的根源,以及针对这些问题提出的解决方法,包括使用同步关键字、Lock对象、volatile关键字等。通过本文的学习,读者将更好地理解Java并发编程中的线程安全性问题,并能够运用相应的解决方法来保障程序的稳定性和可靠性。
13 4
|
3天前
|
监控 Java 开发者
Java并发编程中的线程池优化策略
【2月更文挑战第6天】在Java并发编程中,合理地使用线程池是提高程序性能和效率的关键。本文将探讨线程池的优化策略,包括核心线程数设置、队列类型选择、拒绝策略等方面,帮助开发者更好地利用线程池来处理并发任务。
20 8
|
4天前
|
Java API
Java中的多线程编程技巧与最佳实践
【2月更文挑战第5天】 在当今软件开发领域,多线程编程已经成为一种必不可少的技能。本文将深入探讨Java中多线程编程的技巧与最佳实践,帮助读者更好地理解并应用多线程技术。
|
4天前
|
监控 Java 数据库
Java并发编程中的线程池优化
【2月更文挑战第5天】在Java并发编程中,线程池是一种重要的机制,它可以有效地管理线程的创建和销毁,提高系统的性能和资源利用率。本文将介绍线程池的基本概念,分析线程池的使用场景和常见问题,并探讨如何优化线程池的配置和调整,以实现更高效的并发编程。
|
4天前
|
安全 Java
探究Java中的多线程编程
【2月更文挑战第5天】Java是一门广泛应用于企业级开发的编程语言,其支持多线程并发编程,这使得Java在应对高并发场景时具有重要优势。本文将重点介绍Java中的多线程编程,包括多线程的概念、线程的生命周期、线程同步和互斥、线程池等内容。