layui扩展件(xm-select)实现下拉框

layui扩展件(xm-select)实现下拉框

扩展组件 xm-select

效果图

在这里插入图片描述

html代码
									 <div class="layui-inline"><label class="layui-form-label">职位</label><div class="layui-input-inline" style="width: 150px"><input type="hidden" name="postId" id="postId"><div id="postSelect" class="xm-select-demo"></div></div></div><div class="layui-inline"><label class="layui-form-label">账户类型</label><div class="layui-input-inline" style="width: 150px"><input type="hidden" name="roleId" id="roleId"><div id="roleSelect" class="xm-select-demo"></div></div></div>
js代码
  /** 职位搜索框下拉选中框* @方法名称:postSelect* @方法:渲染职位下拉框* @方法:1方法* */var postSelect = xmSelect.render({el: '#postSelect',//渲染对象, css选择器, dom元素radio: true,//单选filterable: true,   //是否开启搜索clickClose: true,//点击是否关闭paging: true,//是否开启分页pageSize: 5,//每页显示数量searchTips: '请选择职位',//搜索提示theme: {//主题颜色color: '#78a9c0',},on: function (data) {//arr:  当前多选已选中的数据var arr = data.arr;if (arr.length > 0) {// 从选中数据中提取value值var value = arr[0].value;console.log(arr);console.log(value);// 存储所选数据的值,这里是在前端隐藏了书籍类别输入框,将提出出来的值写入到表单中便于提交到数据库中document.getElementById('postId').value = value;// 将所选数据的值写入到表单中} else {document.getElementById('postId').value = "";// 将所选数据的值写入到表单中}},data: [] //数据源})/*  /!** 像后端发送请求,获取数据来刷新账户类型数据* @方法名称:postSelect* @方法:渲染职位下拉框* @方法:1方法* *!/function getSelectInfoData() {$.ajax({url: '/user/getPostInfoData', // 请求的URLtype: 'GET', // 请求类型为GETsuccess: function (data) { // 请求成功后执行的回调函数// 将后端返回的数据转换为前端需要的格式var newData = data.map(function (item) {return {name: item.postName, value: item.id};});// 更新下拉选择框的数据postSelect.update({data: newData});}, error: function (error) { // 请求失败后执行的回调函数console.log('Error fetching data from backend: ' + error); // 在控制台输出错误信息}})}*//** 账户类型搜索框下拉选中框* @方法名称:roleSelect* @方法:渲染职位下拉框* @方法:1方法* */var roleSelect = xmSelect.render({el: '#roleSelect',//渲染对象, css选择器, dom元素filterable: true,//是否开启搜索paging: true,//是否开启分页pageSize: 5,//每页显示数量searchTips: '请选择账户类型',//搜索提示max: 1,//最大选择数量maxMethod() {//超过最大选择数量弹出提示notify.info("只能选择一个账户类型", "vcenter", "shadow", false, 1000)},clickClose: true,//点击是否关闭theme: {//主题颜色color: '#aaaaaa',maxColor: 'orange',},on: function (data) {//arr:  当前多选已选中的数据var arr = data.arr;if (arr.length > 0) {// 从选中数据中提取value值var value = arr[0].value;console.log(value);// 存储所选数据的值,这里是在前端隐藏了书籍类别输入框,将提出出来的值写入到表单中便于提交到数据库中document.getElementById('roleId').value = value;// 将所选数据的值写入到表单中} else {document.getElementById('roleId').value = "";// 将所选数据的值写入到表单中}},data: [] //数据源})/*   /!** 像后端发送请求,获取数据来刷新账户类型数据* @方法名称:roleSelect* @方法:渲染职位下拉框* @方法:1方法* *!/$.ajax({url: '/user/getRoleIdInfoData', // 请求的URLtype: 'GET', // 请求类型为GETsuccess: function (data) { // 请求成功后执行的回调函数// 将后端返回的数据转换为前端需要的格式var newData = data.map(function (item) {return {name: item.roleName, value: item.roleId};});// 更新下拉选择框的数据roleSelect.update({data: newData});}, error: function (error) { // 请求失败后执行的回调函数console.log('Error fetching data from backend: ' + error); // 在控制台输出错误信息}})*//** @方法名称:postSelect* @方法:渲染职位下拉框* @方法:2方法* *//*  var postSelect = renderSelect('#postSelect', true, true, true, 5, '请选择职位', '#78a9c0', function (data) {updateSelectValue(data, 'postId');});*//** @方法名称:roleSelect* @方法:渲染职位下拉框* @方法:2方法* *//*var roleSelect = renderSelect('#roleSelect', true, true, true, 5, '请选择账户类型', '#aaaaaa', function (data) {updateSelectValue(data, 'roleId');});*//** 公用方法renderSelect* @方法名称:renderSelect* @方法:渲染职位下拉框* @方法:2方法* *//* function renderSelect(el, radio, filterable, paging, pageSize, searchTips, color, callback) {return xmSelect.render({el: el,radio: radio,filterable: filterable,paging: paging,pageSize: pageSize,searchTips: searchTips,theme: {color: color,},on: callback,data: []});}*//** @方法名称:updateSelectValue* @方法:更新下拉选择框的数据* @方法:2方法* *//* function updateSelectValue(data, id) {var arr = data.arr;if (arr.length > 0) {var value = arr[0].value;console.log(value);document.getElementById(id).value = value;} else {document.getElementById(id).value = "";}}*//** @方法名称:getData* @方法:获取职位,账户类型数据* @方法:2方法* */getData('/user/getPostInfoData', postSelect);getData('/user/getRoleIdInfoData', roleSelect);/** @方法名称:getData* @方法:获取职位,账户类型数据* @方法:2方法* */function getData(url, select) {$.ajax({url: url, type: 'GET', success: function (data) {var newData = data.map(function (item) {// 根据不同的数据类型,设置不同的name和valuereturn {name: item.roleName || item.postName, value: item.roleId || item.id};});select.update({data: newData});//更新下拉选择框的数据}, error: function (error) {console.log('Error fetching data from backend: ' + error);}});}

后端代码

controller
    /** 下拉选项框查询* @getRoleIdInfoData* */@GetMapping("/getRoleIdInfoData")public List<RoleEntity> getRoleIdInfoData() {// 调用userInfoService的getRoleIdInfoData方法获取角色实体列表List<RoleEntity> roleEntities = userInfoService.getRoleIdInfoData();// 返回角色实体列表return roleEntities;}/** 查询职位下拉框数据* @getPostInfoData* */@GetMapping("/getPostInfoData")public List<PostEntity> getPostInfoData() {// 调用userInfoService的getPostInfoData方法获取帖子实体列表List<PostEntity> postEntities = userInfoService.getPostInfoData();// 返回帖子实体列表return postEntities;}
Service
/** 查询所有角色信息* */List<RoleEntity> getRoleIdInfoData();/** 查询所有岗位信息* */List<PostEntity> getPostInfoData();
ServiceImpl
 /** 查询所有角色信息用于下拉框* */@Overridepublic List<RoleEntity> getRoleIdInfoData() {return roleMapper.getRoleIdInfoData();}/** 查询所有岗位信息用于下拉框* */@Overridepublic List<PostEntity> getPostInfoData() {return postMapper.getPostInfoData();}
mapper
    /** 查询所有的角色信息* */List<RoleEntity> getRoleIdInfoData();/** 查询岗位信息,用于下拉框* */List<PostEntity> getPostInfoData();
xml
<!--查询所有角色信息getRoleIdInfoData--><select id="getRoleIdInfoData" resultType="RoleEntity">select roleId,role_name as roleName from sys_role</select><!--查询所有岗位信息getPostInfoData--><select id="getPostInfoData" parameterType="PostEntity">select id,post_name as postName from tb_post</select>

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

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

相关文章

小皮面板中访问不了本地的sqli网站---解决方法

今天想在sqli-labs中做题&#xff0c;却发现自己访问不了网站 1、具体的错误原因如下 2、查了一下&#xff0c;可能是因为自己访问的域名不对 3、修改了域名为&#xff1a;http://sqli-labs:81/Less-2/便可以访问了 4、然后接下来我有遇到一个错误&#xff0c;这个问题是php版…

【onnx问题解决】关键词:found at least two devices、torch.onnx.export

关键词&#xff1a;Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! 报错&#xff1a; [34m[1mONNX:[0m export failure ❌ 3.8s: Expected all tensors to be on the same device, but found at least two devices, cpu an…

Amazon云计算AWS之[7]内容推送服务CloudFront

文章目录 CDNCDN简介CDN网络技术 CloudFrontCloudFront基本概念 CDN CDN简介 用户在发出服务请求后&#xff0c;需要经过DNS服务器进行域名解析后得到所访问网站的真实IP&#xff0c;然后利用该IP访问网站。在这种模式中&#xff0c;世界各地的访问者都必须直接和网站服务器连…

openflow协议抓包分析

1、准备实验拓扑&#xff1a; 在Mininet环境中创建一个简单的SDN拓扑&#xff0c;包括控制器、交换机、主机等。 确保拓扑能够正常运行&#xff0c;SDN交换机与控制器建立连接。 采用主机Ubuntu22.04主机&#xff0c;IP地址是192.168.87.130&#xff0c;安装opendaylight控制…

Git标签管理

文章目录 1. 什么是标签2. 创建标签3. 标签删除4. 本地标签推送至远程5. 标签远程删除 1. 什么是标签 标签tag &#xff0c;可以简单的理解为是对某次commit的⼀个标识&#xff0c;相当于起了⼀个别名。 例如&#xff0c;在项目发布某个版本的时候&#xff0c;针对最后一次co…

PG实践|PostgreSQL的安装和配置

&#x1f4eb; 作者简介&#xff1a;「六月暴雪飞梨花」&#xff0c;专注于研究Java&#xff0c;就职于科技型公司后端工程师 &#x1f3c6; 近期荣誉&#xff1a;华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员 &#x1f525; 三连支持&#xff1a;欢迎 ❤️关注…

代码随想录算法训练营第20天 |● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树

文章目录 前言654.最大二叉树思路方法一 递归法方法一2 老师的优化递归法 617.合并二叉树思路方法一 递归法方法二 迭代法 700.二叉搜索树中的搜索思路方法一 递归法方法二 迭代法 98.验证二叉搜索树思路方法一 使用数组方法二 不使用数组代码注意点&#xff1a; 方法二 使用双…

攻击者常用的五个数据中转网站

近来&#xff0c;各种数据中转网站被攻击者广泛用于传播代码片段、配置文件和各种文本数据&#xff0c;尽管这为研究人员提供了观察的窗口&#xff0c;但敏感信息被上传到互联网上时&#xff0c;也会对受害者构成巨大威胁。 这些网站通常并不需要注册或者身份验证&#xff0c;…

深入了解Linux中的环境变量

在Linux系统中&#xff0c;环境变量&#xff08;Environment Variables&#xff09;是用于配置操作系统和应用程序运行环境的一种机制。它们储存在键值对中&#xff0c;可以控制程序的行为、路径查找和系统配置。本文将深入探讨环境变量的基本概念、常见类型、设置和管理方法&a…

Latex公式编辑:在矩阵内画横线与竖线

在LaTeX中&#xff0c;要在矩阵内绘制横线和竖线&#xff0c;我们通常使用array或matrix环境&#xff0c;并结合\hline&#xff08;用于横线&#xff09;和|&#xff08;用于竖线&#xff09;来实现。但需要注意的是&#xff0c;\hline通常用于表格环境中。 LaTeX中绘制分块矩阵…

idea配置ssh、sftp连接服务器,docker插件使用,极其方便,无需再开第三方软件去操作服务器了,集成用于Idea一体

目录 配置SSH连接服务器 配置SFTP文件传输 Docker插件使用 配置SSH连接服务器 Setting>Tools>SSHConfigurations,点击加号新建一个连接&#xff0c;认证形式选key pair 打开终端&#xff0c;连接服务器&#xff0c;就可以终端操作服务器了 配置SFTP文件传输 文件浏览窗…

ThreadLocal简介

Thread类中&#xff0c;有个ThreadLocal.ThreadLocalMap 的成员变量。 ThreadLocalMap内部维护了Entry数组&#xff0c;每个Entry代表一个完整的对象&#xff0c;key是ThreadLocal本身&#xff0c;value是ThreadLocal的泛型对象值 public void set(T value) {Thread t Thread…

装机必备——WinRAR安装教程

装机必备——WinRAR安装教程 软件下载 软件名称&#xff1a;WinRAR 软件语言&#xff1a;简体中文 软件大小&#xff1a;3.38M 系统要求&#xff1a;Windows7或更高&#xff0c; 32/64位操作系统 硬件要求&#xff1a;CPU2GHz &#xff0c;RAM4G或更高 下载通道①迅雷云盘丨下…

Linux线程:线程控制

目录 一、线程的退出与等待 1.1pthread_join线程等待 1.2线程异常 1.3线程如何退出和结束 ​编辑 二、线程切换 三、线程的优缺点 3.1优点 3.2缺点 3.3线程vs进程 四、多线程的使用及实操 4.1堆空间共享 一、线程的退出与等待 在Linux中线程具有如下的特点&#xf…

postman教程-4-发送post请求

领取资料&#xff0c;咨询答疑&#xff0c;请➕wei: June__Go 上一小节我们学习了postman发送get请求的方法&#xff0c;本小节我们讲解一下postman发送post请求的方法。 POST请求通常用于向服务器提交数据以创建新资源或执行某些操作。与GET请求不同&#xff0c;POST请求可…

景源畅信电商:做抖店的成本高吗?

在当今数字化时代&#xff0c;抖音不仅仅是一个分享短视频的平台&#xff0c;更是一个充满商机的市场。随着抖音用户量的激增&#xff0c;越来越多的商家和个人开始关注在抖音上开设店铺&#xff0c;即所谓的“抖店”。那么&#xff0c;做抖店的成本高吗?这个问题困扰着许多初…

【鱼眼镜头11】Kannala-Brandt模型和Scaramuzza多项式模型区别,哪个更好?

Kannala-Brandt模型和Scaramuzza多项式模型在描述鱼眼相机畸变时都有其特定的数学表示和应用&#xff0c;但它们之间存在一些区别。以下是对两者区别的分点表示和归纳&#xff1a; 数学表示&#xff1a; Kannala-Brandt模型&#xff1a;它假设图像光心到投影点的距离和角度的多…

Autodl如何进行实例使用(同区)

一、首先找到之前保存的实例 二、点击更多然后选择克隆实例 三、选择是否要保存之前的数据盘 四、选择空余的GPU进行创建即可

【Redis】持久化操作详解

Redis 持久化操作详解 Redis 实现持久化的时候&#xff0c;具体是按照什么样的策略来实现的呢&#xff1f; Redis支持两种方式的持久化&#xff0c;一种是RDB方式、另一种是AOF&#xff08;append-only-file&#xff09;方式&#xff0c;两种持久化方式可以单独使用其中一种&…

springcloud 之 Ribbon Hystrix Feign bus 动态修改配置

Ribbon 是微服务架构图中负责负载均衡的 组件。 BeanLoadBalancedpublic RestTemplate getRestTemplate() {return new RestTemplate();}测试如下&#xff1a; //微服务方式 Ribbon方式GetMapping("ribbon/{name}")public String RibbonTest(PathVariable String nam…