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

news2024/11/26 16:24:16

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', // 请求的URL
                 type: 'GET', // 请求类型为GET
                 success: 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', // 请求的URL
                type: 'GET', // 请求类型为GET
                success: 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和value
                        return {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
 /*
    * 查询所有角色信息用于下拉框
    * */
    @Override
    public List<RoleEntity> getRoleIdInfoData() {
        return roleMapper.getRoleIdInfoData();
    }

    /*
    * 查询所有岗位信息用于下拉框
    * */
    @Override
    public 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.coloradmin.cn/o/1688897.html

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

相关文章

你以为的私域是真正的私域嘛??你的私域流量真的属于你嘛?

大家好 我是一个软件开发公司的产品经理 专注私域电商行业7年有余 您的私域流量是真正的属于你自己嘛&#xff1f; 私域的定义 私域的界定&#xff1a;一个互联网私有数据&#xff08;资产&#xff09;积蓄的载体。这个载体的数据权益私有&#xff0c;且具备用户规则制定权…

法那科机器人M-900iA维修主要思路

发那科工业机器人是当今制造业中常用的自动化设备之一&#xff0c;而示教器是发那科机器人操作和维护的重要组成部分。 一、FANUC机械手示教器故障分类 1. 硬件故障 硬件故障通常是指发那科机器人M-900iA示教器本身的硬件问题&#xff0c;如屏幕损坏、按键失灵、电源故障等。 2…

脆皮之“字符函数与字符串函数”宝典

hello&#xff0c;大家好呀&#xff0c;感觉我之前有偷偷摸鱼了&#xff0c;今天又开始学习啦。加油&#xff01;&#xff01;&#xff01; 文章目录 1. 字符分类函数2. 字符转换函数3. strlen的使用和模拟实现3.1 strlen 的使用3.1 strlen 的模拟1.计算器方法2.指针-指针的方…

【Spring Security + OAuth2】身份认证

Spring Security OAuth2 第一章 Spring Security 快速入门 第二章 Spring Security 自定义配置 第三章 Spring Security 前后端分离配置 第四章 Spring Security 身份认证 第五章 Spring Security 授权 第六章 OAuth2 1、用户认证信息 1.1、基本概念 在Spring Security框架中…

Axure RP 9 for Mac/win:重新定义交互原型设计的未来

在当今数字化时代&#xff0c;交互原型设计已成为产品开发中不可或缺的一环。Axure RP 9作为一款功能强大的交互原型设计软件&#xff0c;凭借其出色的性能和用户友好的界面&#xff0c;赢得了广大设计师的青睐。 Axure RP 9不仅支持Mac和Windows两大主流操作系统&#xff0c;…

PMP 学习笔记(增量更新中)

PMP 作为最流行的项目管理方法论&#xff0c;是项目管理领域的对话基础&#xff0c;了解它能帮助我理解术语和规范的管理过程&#xff0c;也许后面会考一个认证。感谢 B 站视频《 PMP 认证考试课程最新完整免费课程零基础一次通过项目管理 PMP 考试》的作者&#xff0c;我通过它…

【简单介绍下深度神经网络】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

人工智能应用-实验7-胶囊网络分类minst手写数据集

文章目录 &#x1f9e1;&#x1f9e1;实验内容&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;代码&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;分析结果&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;实验总结&#x1f9e1;&#x1f9e1; &#x1f9…

vue3+ts实战

目录 一、ts语法练习 1.1、安装 1.2、语法 二、vue3ts 2.1、项目创建 2.1.1、项目创建(建议node版本在16.及以上) 2.1.2、下载路由、axios 2.1.3、引入element-plus 2.1.4、报错解决 (1)文件路径下有红色波浪 (2)组件名称下有红色波浪 (3)引入模块下有红色波浪 2.…

快速幂算法6

eg: n10&#xff0c;10%20, 10/25, 5%21,4* 5/22, 2%20,4*256 0/20, 1024 递归算法 #include<iostream> using namespace std; long long quick_pow(int b,int e) {if(b0)return 0;if(e0)return 1;if(e%20){int tempquick_pow(b,e/2);return temp*temp;}if(e%2!0)…

大数据学习之安装并配置maven环境

什么是Maven Maven字面意&#xff1a;专家、内行Maven是一款自动化构建工具&#xff0c;专注服务于Java平台的项目构建和依赖管理。依赖管理&#xff1a;jar之间的依赖关系&#xff0c;jar包管理问题统称为依赖管理项目构建&#xff1a;项目构建不等同于项目创建 项目构建是一…

【SQL国际标准】ISO/IEC 9075:2023 系列SQL的国际标准详情

目录 &#x1f30a;1. 前言 &#x1f30a;2. ISO/IEC 9075:2023 系列SQL的国际标准详情 &#x1f30a;1. 前言 ISO&#xff08;国际标准化组织&#xff0c;International Organization for Standardization&#xff09;是一个独立的、非政府间的国际组织&#xff0c;其宗旨是…

C++语言学习(五)—— 类与对象(一)

目录 一、类类型的定义 二、类成员的访问控制 2.1 什么是"类内"和"类外" 2.2 对于访问控制属性的说明 三、类类型的使用 3.1 进行抽象 3.2 声明类 3.3 实现类 3.4 使用类 四、构造函数的引入 五、析构函数的引入 六、重载构造函数的引入 6.1 …

# 分布式链路追踪_skywalking_学习(2)

分布式链路追踪_skywalking_学习&#xff08;2&#xff09; 一、分布式链路追踪_skywalking &#xff1a;Rpc 调用监控 1、Skywalking(6.5.0) 支持的 Rpc 框架有以下几种&#xff1a; Dubbo 2.5.4 -> 2.6.0Dubbox 2.8.4Apache Dubbo 2.7.0Motan 0.2.x -> 1.1.0gRPC 1.…

Live800:客户为王,企业竞争的新趋势与核心要素!

在企业经营管理中&#xff0c;客户始终是最重要的资源和战略。从企业经营的角度来说&#xff0c;企业管理的核心是客户管理&#xff0c;客户管理的核心是价值创造和价值分配&#xff0c;这是企业经营的基础。这里主要讨论了企业竞争的新趋势与核心要素&#xff0c;认为客户为王…

嵌入式岗位,你有能力,你同样可以拿到高薪资

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 就算你进去了&#xff0…

景源畅信:小白做抖音运营难吗?

在数字化时代&#xff0c;社交媒体已成为人们生活的一部分&#xff0c;而抖音作为其中的翘楚&#xff0c;吸引了众多希望通过平台实现自我价值和商业目标的用户。对于刚入门的小白来说&#xff0c;运营抖音账号可能会遇到不少挑战。接下来&#xff0c;我们将详细探讨这一话题&a…

交换机部分综合实验

实验要求 1.内网IP地址使用172.16.0.0/16 2.sw1和sW2之间互为备份; 3.VRRP/mstp/vlan/eth-trunk均使用; 4.所有pc均通过DHcP获取Ip地址; 5.ISP只配置IP地址; 6.所有电脑可以正常访问IsP路由器环回 实验拓扑 实验思路 1.给交换机创建vlan&#xff0c;并将接口划入vlan 2.在SW1和…

pytorch-13_2 模型结构选择策略:层数、激活函数、神经元个数

一、拟合度概念 在所有的模型优化问题中&#xff0c;最基础的也是最核心的问题&#xff0c;就是关于模型拟合程度的探讨与优化。根据此前的讨论&#xff0c;模型如果能很好的捕捉总体规律&#xff0c;就能够有较好的未知数据的预测效果。但限制模型捕捉总体规律的原因主要有两点…