jsp将一个文本输入框改成下拉单选框,选项为字典表配置,通过后端查询

一,业务场景:

一个人员信息管理页面,原来有个最高学历是文本输入框,可以随意填写,现在业务想改成下拉单选框进行规范化,在专科及以下、本科、研究生三个选项中选择;
在这里插入图片描述

二,需要解决问题

1,增加字典表配置,2,将前端文本输入改成下拉单选框 3,在编辑和查看详情时,原来的信息也要展示,但保存时原来的数据(不在专科及以下、本科、研究生三个选项中的)不保存

三,解决方案

1,在字典表添加最高学历枚举值

在SQL中,向字典表code_entry中插入三条数据的语句如下:

INSERT INTO code_entry (category, code, name)
VALUES 
    ('最高学历', '01', '专科及以下'),
    ('最高学历', '02', '本科'),
    ('最高学历', '03', '研究生');

2,在后端对查询出来的学历信息进行处理,以适配前端下拉框展示

if(StringUtil.isNotBlank(info.getHighEducation)){
	//
	CodeEntryEO ceo = 
	codeEntryService.findCodeEntryByNameAndCategory(info.getHighEducation);
	if(ceo == null){
		CodeEntry co =new CodeEntry();
		co.setCode("99");
		co.setName(info.getHighEducation());
		/*
		listEducation是查出来的最高学历配置信息,
		如果这个数据的最高学历不在字典表中,给这条数据一个code:99,并添加到配置list中
		*/
		listEducation.add(co);
		info.setHigtEducationCode("99");
	}
}

3,前端input输入框改成 从专科及以下、本科、研究生单选

如果选中的值为旧数据,提示请选择前三个学历信息

<div class="form-group">
    <label for="highestEducateSelect">最高学历</label>
    <select class="form-control" id="highestEducateSelect" name="highestEducateSelect" required>
        <option value="">请选择最高学历</option>
        <c:forEach items="${listEducation}" var="education">
            <option value="${education.id}">${education.name}</option>
        </c:forEach>
        <!-- 假设这里有个非法的选项 -->
        <option value="99">其他(无效选项)</option>
    </select>
    <div class="invalid-feedback d-none" id="highestEducationFeedback">请选择前三个学历信息</div>
</div>

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function () {
    $('#myForm').on('submit', function (event) {
        var selectedDegree = $('#highestEducateSelect').val();
		// 获取当前的select元素
        var selectElement = $('#highestEducateSelect')[0];
		selectElement.setCustomValidity('');//先默认设置为没有提示信息,
        // 检查是否选择了无效选项(这里假定99代表无效选项)
        if (selectedDegree === '99') {
            event.preventDefault(); // 阻止表单提交
            // 设置自定义验证错误信息并触发invalid事件
            selectElement.setCustomValidity('请选择前三个学历信息');
            selectElement.reportValidity(); // 触发验证并显示错误提示
        }
    });
});
</script>

上述代码为本人实际业务场景(隐藏业务信息后的代码)且测试通过上线,如果有什么疑问,可私信,定知无不言;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/495772.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

职场中人如何做好时间管理提高工作效率?高效时间管理软件

在职场中&#xff0c;时间就是金钱&#xff0c;效率就是生命。面对繁杂的工作任务和紧迫的时间限制&#xff0c;做好时间管理显得尤为重要。只有合理规划时间&#xff0c;才能提高工作效率&#xff0c;从而在激烈的职场竞争中脱颖而出。 那么&#xff0c;职场中人如何做好时间…

mysql80-DBA数据库学习1-数据库安装

掌握能力 核心技能 核心技能 mysql部署 官网地址www.mysql.com 或者www.oracle.com https://dev.mysql.com/downloads/repo/yum/ Install the RPM you downloaded for your system, for example: yum install mysql80-community-release-{platform}-{version-number}.noarch…

大唐电信AC管理平台弱口令登录及信息泄露

大唐电信AC简介 大唐电信科技股份有限公司是电信科学技术研究院&#xff08;大唐电信科技产业集团&#xff09;控股的的高科技企业&#xff0c;大唐电信已形成集成电路设计、软件与应用、终端设计、移动互联网四大产业板块。 大唐电信AC集中管理平台存在弱口令及敏感信息泄漏漏…

如何在Windows通过eXtplorer结合cpolar搭建个人文件服务器并实现无公网ip远程访问

文章目录 1. 前言2. eXtplorer网站搭建2.1 eXtplorer下载和安装2.2 eXtplorer网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1. 前言 通过互联网传输文件&#xff0c;是互联网最重要的应用之一&#xff0c;无论是…

推特Twitter有直播功能吗?如何用Twitter直播?

现在各大直播平台已经成为社交媒体营销的一种重要渠道&#xff0c;它让品牌能够即时地与全球受众进行互动。据统计&#xff0c;直播市场正在迅速增长&#xff0c;预计到2028年将达到2230亿美元的规模。在这个不断扩张的市场中&#xff0c;许多社交媒体平台如YouTube、Facebook、…

【OS探秘】【虚拟化】【软件开发】【网络安全】在Windows11上安装Kali Linux虚拟机

一、所需原料 Windows 11主机、Oracle VM VirtualBox虚拟化平台、Kali Linux镜像文件 二、安装步骤 1、 在VBox管理器中&#xff0c;点击“新建”&#xff0c;进入向导模式&#xff0c;指定各个字段的值&#xff1a; 2、 安装完成&#xff0c;启动虚拟机&#xff1a; 3、 选择…

[linux初阶][vim-gcc-gdb] OneCharter: vim编辑器

一.vim编辑器基础 目录 一.vim编辑器基础 ①.vim的语法 ②vim的三种模式 ③三种模式的基本切换 ④各个模式下的一些操作 二.配置vim环境 ①手动配置(不推荐) ②自动配置(推荐) vim是vi的升级版,包含了更加丰富的功能. ①.vim的语法 vim [文件名] ②vim的三种模式 命令…

慧天[HTWATER]:采用CUDA框架实现耦合模型并行求解

慧天[HTWATER]软件简介 针对城市排水系统基础设施数据管理的需求&#xff0c;以及水文、水力及水质模拟对数据的需求&#xff0c;实现了以数据库方式对相应数据的存储。可以对分流制排水系统及合流制排水系统进行地表水文、管网水力、水质过程的模拟计算。可以对城市低影响开发…

CV论文--2024.3.28

1、Efficient Video Object Segmentation via Modulated Cross-Attention Memory 中文标题&#xff1a;通过调制交叉注意力记忆进行高效视频对象分割 简介&#xff1a;最近&#xff0c;基于Transformer的方法在半监督视频对象分割方面取得了出色的结果。然而&#xff0c;由于这…

【C++】手撕哈希表的闭散列和开散列

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;手撕哈希表的闭散列和开散列 > 毒鸡汤&#xff1a;谁不是一边受伤&#xff0c;一边学会坚强。 > 专栏选自&#xff1a;C嘎嘎进阶 > 望小伙伴们…

通过在线编程彻底搞懂transformer模型之三:为啥大语言模型都做不好数学题

为什么大语言模型做不好数学题&#xff1f;这个要从大语言模型的原理来讲。 这里是这篇文字的视频讲解&#xff0c;可能视频讲得更清楚一些&#xff1a; 写代码彻底搞懂attention注意力机制 – LLM transformer系列&#xff0c;附:在线编程地址 现代大语言模型都源自于2017年…

Excel 十字交叉聚光灯查询,再也不用担心看串行与列

当Excel表格行列较多时&#xff0c;要想跟条件找到目标数据可以用查找引用函数自动调取&#xff0c;如果又想让找出来的结果突出显示&#xff0c;有什么好办法呢&#xff1f; 先来看一个做好的案例效果&#xff0c;用户选择查询条件后&#xff0c;结果突出显示。 当查询条件变…

第20篇:逻辑门控D锁存器

Q&#xff1a;基本RS锁存器存在不确定状态&#xff0c;本篇我们设计可以消除不确定状态的锁存器--逻辑门控D锁存器。 A&#xff1a;逻辑门控D锁存器逻辑图&#xff1a; 其工作原理&#xff1a;在CLK1期间&#xff0c;数据输入端D的值被传输到输出端Q&#xff0c;而当CLK由1 跳…

【Redis】redis哨兵模式

概述 Redis Sentinel&#xff0c;即Redis哨兵&#xff0c;在Redis 2.8版本开始引入。它是Redis高可用的实现方案之一。Sentinel是一个管理多个Redis实例的工具&#xff0c;它的核心功能是可以实现对Redis的监控、通知、自动故障转移。 监控&#xff08;Monitoring&#xff09…

docker部署-RabbitMq

1. 参考 RabbitMq官网 docker官网 2. 拉取镜像 这里改为自己需要的版本即可&#xff0c;下面容器也需要同理修改 docker pull rabbitmq:3.12-management3. 运行容器 docker run \ --namemy-rabbitmq-01 \ -p 5672:5672 \ -p 15672:15672 \ -d \ --restart always \ -…

盏多多生物现已加入2024第七届燕窝天然滋补品展

参展企业介绍 广东省盏多多生物科技有限公司是一家从事食品销售,食品销售,食品进出口等业务的公司&#xff0c;成立于2018年12月07日&#xff0c;公司坐落在广东省&#xff0c;详细地址为&#xff1a;惠州市东江三路45号悦榕湾27层05号&#xff08;仅限办公&#xff09;;经国家…

用系统观念打造智慧公厕,引领智慧城市的发展

智慧公厕&#xff0c;作为智慧城市建设的一部分&#xff0c;具有重要意义。在高度发达的科技条件下&#xff0c;如何打造高质量的智慧公厕是一个值得思考的问题。本文将以智慧公厕源头实力厂家广州中期科技有限公司&#xff0c;大量精品案例项目现场实景实图实例&#xff0c;探…

UE小:基于UE5的两种Billboard material(始终朝向相机材质)

本文档展示了两种不同的效果&#xff0c;分别是物体完全朝向相机和物体仅Z轴朝向相机。通过下面的演示和相关代码&#xff0c;您可以更加直观地理解这两种效果的差异和应用场景。 1. 完全朝向相机效果 此效果下&#xff0c;物体将完全面向相机&#xff0c;不论相机在哪个角度…

Element

1、Element 基本使用 1.1、Element介绍 Element&#xff1a;网站快速成型工具。是饿了么公司前端开发团队提供的一套基于Vue的网站组件库。 使用Element前提必须要有Vue。 组件&#xff1a;组成网页的部件&#xff0c;例如超链接、按钮、图片、表格等等~ Element官网&#…

【上云API】GB28181流媒体服务器搭建

docker拉取配置好的ZLMediaKIt和wvp-GB28181-pro docker pull 648540858/wvp_pro第一次运行 docker一键运行ZLMediaKIt和wvp-GB28181-pro docker run --env WVP_IP"自己电脑的ip" -it -p 18080:18080 -p 30000-30500:30000-30500/udp -p 30000-30500:30000-3050…