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>

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python操作基础】——集合

&#x1f349;CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一&#xff5c;统计学&#xff5c;干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项&#xff0c;参与研究经费10w、40w级横向 文…

【Linux】 gcc(linux下的编译器)程序的编译和链接详解

目录 前言&#xff1a;快速认识gcc 1. 程序的翻译环境和执行环境 2.编译和链接 2.1翻译环境 2.2编译环境 1. 预处理 gcc -E指令 test.c&#xff08;源文件&#xff09; -o test.i&#xff08;生成在一个文件中&#xff0c;可以自己指定&#xff09; 预处理完成之后就停下来&am…

LeetCode 1027——最长等差数列

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 假设我们以 f[d][nums[i]]表示以 nums[i] 为结尾元素间距为 d 的等差数列的最大长度&#xff0c;那么&#xff0c;如果 nums[i]-d 也存在于 nums 数组中&#xff0c;则有&#xff1a; f [ d ] [ n u m s [ i ] ] …

解决vim中NERDTree图标是问号或者乱码问题

解决vim中NERDTree图标是问号或者乱码问题 乱码信息如图解决办法1. 安装字体下载字体安装字体Ubuntu系统Windows11系统 2. 控制台修改字体Ubuntu系统Windows11系统 乱码信息如图 Ubuntu系统上的情况 使用windows控制台连接的情况 解决办法 1. 安装字体 下载字体 在nerd f…

51单片机学习9 串口通讯

51单片机学习9 串口通讯 一、串口通讯简介UARTSTC89C51RC/RD的串口资源 二、51单片机串口介绍1. 内部结构2. 寄存器&#xff08;1&#xff09;串口控制寄存器SCON&#xff08;2&#xff09;电源控制寄存器PCON 3. 计算波特率4. 串口配置步骤 三、 开发示例1. 硬件电路2. 代码实…

网络面试——浏览器输入url到显示主页的过程

浏览器输入URL到显示主页的过程通常可以分为以下步骤&#xff1a; 1. **URL解析**&#xff1a; - 当用户在浏览器的地址栏中输入URL时&#xff0c;浏览器会首先对该URL进行解析。 - 解析URL包括识别协议&#xff08;例如HTTP、HTTPS&#xff09;、主机名&#xff08;例如…

pyppeteer首次使用报错,下载浏览器失败

报错信息&#xff1a;[INFO] Starting Chromium download. OSError: Chromium downloadable not found at 解决方法&#xff1a; # 当pyppeteer下载Chromium失败时运行此脚本&#xff0c;找出浏览器应该存储的位置&#xff0c;手动下载该浏览器放到相应的路径下即可&#xff…

YOLOv5-小知识记录(一)

0. 写在前面 这篇博文主要是为了记录一下yolov5中的小的记忆点&#xff0c;方便自己查看和理解。 1. 完整过程 &#xff08;1&#xff09;Input阶段&#xff0c;图片需要经过数据增强Mosaic&#xff0c;并且初始化一组anchor预设&#xff1b; &#xff08;2&#xff09;特征提…

【Python】使用Python和MinHash计算中文文本相似度

我的心情总是失落 我懂女孩子是矜持的 你的耳机里到底听的是什么 有没有我熟悉的歌 我想发寻你的传单 可是我没有你的照片 只好写初识游泳馆 大厅的里面 我们不见不散 &#x1f3b5; 赵雷《十九岁》 在处理中文文本数据时&#xff0c;如何快速有效地计算两…

Python搜索算法——二分搜索

二分搜索算法&#xff08;Binary Search&#xff09;是一种高效的搜索算法&#xff0c;用于在有序数组中查找目标元素。它通过反复将目标值与数组的中间元素进行比较&#xff0c;并根据比较结果缩小搜索范围&#xff0c;直到找到目标值或确定它不在数组中。 二分搜索算法步骤&…

MSA7T10 DVBT2高清机顶盒方案

一、方案描述 MSA7T10系列芯片是Mstar推出的极富竞争力的DVB-T2机顶盒FTA方案&#xff0c;芯片内置64MB DDR2和T2解调器&#xff0c;支持T2 1.3.1规范&#xff0c;支持HEVC&#xff0c;H.264&#xff0c;MPEG高清视频&#xff0c;支持PVR/Timeshit功能&#xff0c;支持各种多媒…

Prometheus收集、存储和分析主机和服务质量

普罗米修斯&#xff08;Prometheus&#xff09;是一款开源的监控和警报解决方案&#xff0c;用于收集、存储和分析各种指标数据。它可以与各种编程语言配合使用&#xff0c;通过暴露特定格式的HTTP端点来监控主机上的指标。 以下是一个简单的Python脚本&#xff0c;用于监控主…

曲线生成 | 图解Reeds-Shepp曲线生成原理(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 什么是Reeds-Shepp曲线&#xff1f;2 Reeds-Shepp曲线的运动模式3 Reeds-Shepp曲线算法原理3.1 坐标变换3.2 时间翻转(time-flip)3.3 反射变换(reflect)3.4 后向变换(backwards) 4 仿真实现4.1 ROS C实现4.2 Python实现4.3 Matlab实现 0 专栏介绍 &#x1f5…

如何利用社媒群组如何高效开发国外客户

现在社媒营销也是越来越流行了&#xff0c;很多外贸人都开始做社媒营销。社媒营销相对来说是比较有温度的一个营销&#xff0c;因为大部分社媒平台都支持在线聊天&#xff0c;触达的即时性是比较高的&#xff0c;效果也比传统的一些方法要好一些。 当然做社媒也是有难度的&…

西藏实景三维技术研讨交流会成功举办

2024年3月21-22日&#xff0c;西藏自治区“实景三维技术研讨交流会”在拉萨成功举办。 本次会议由西藏自治区自然资源厅、自然资源部重庆测绘院指导&#xff0c;西藏自治区测绘学会、西藏自治区地理信息产业协会主办&#xff0c;武汉大势智慧科技有限公司&#xff08;后简称“…

SLAM中的三维运动学【SLAM】

李群视角下的运动学 连续时间下的运动学模型 物体在连续时间下运动的位姿由 R ( t ) R(t) R(t)和 t ( t ) t(t) t(t)表示&#xff0c;根据 R R R的正交性质有&#xff1a; R ( t ) T R ( t ) I R(t)^{T}R(t) I R(t)TR(t)I 公式两边对时间 t t t求导有&#xff1a; R ( t …

数据库-索引快速学

索引 当表中数据量庞大时&#xff0c;往往搜索一条数据就会耗费很长的时间等待 索引是帮助数据库高效获取数据的数据结构 create index 索引名 on 数据表名&#xff08;字段名&#xff09;;为该表下的某一字段创建索引&#xff0c;检索耗时会大大的减小 索引的优缺点 优点&…

【Python BUG】CondaHTTPError解决记录

问题描述 CondaHTTPError: HTTP 429 TOO MANY REQUESTS for url https://mirrors.ustc.edu.cn/anaconda/pkgs/free/win-64/current_repodata.json Elapsed: 00:26.513315 解决方案 找到用户路径下的 .condarc文件&#xff0c;建议用这个方法前和我一样做个备份&#xff0c;方…

python中类的导入与使用

1、类的介绍 与C中面向对象思想类似&#xff0c;有时候为了方便&#xff0c;需要专门创建一个类&#xff0c;将相关的函数全部写入到该类中&#xff0c;方便后续创建对象&#xff0c;再使用类中函数。那么如何创建完类&#xff0c;在其他文件中使用类中函数&#xff0c;这是这篇…

Python Flask框架 -- flask-migrate迁移ORM模型

# 之前使用的这个db.create_all()很有局限性&#xff0c;它不能把在class里修改的东西同步上数据库&#xff0c;所以不用了 # with app.app_context(): # 请求应用上下文 # db.create_all() # 把所有的表同步到数据库中去 例如&#xff0c;在User类中增加一个email字段&…