在Layui中实现开关按钮的效果实例

今天看过几篇博客,看的有点乱,下面分享一个layui的开关按钮,不知道你们看这个会不会乱呢,hhh;

按钮代码如下:

复制代码
{field: 'state', title: '状态', width: 85, templet: function (data) {
                    if (data.state == 0) {
                        return '<div> <input type="checkbox" checked="" name="codeSwitch" lay-skin="switch" id="open" lay-filter="switchTest" switchId=' + data.userId + '' +
                            ' lay-text="启用|已禁用"  value=' + data.state + '></div>';
                    }
                    return '<div> <input type="checkbox" lay-skin="switch" name="codeSwitch"  switchId=' + data.userId + ' lay-filter="switchTest"' +
                        'lay-text="启用|已禁用" value=' + data.state + '></div>';

                }
            }
复制代码

 

实现操作js代码如下:

复制代码
 /**
     * 监听开关 状态 操作
     */
    form.on('switch(switchTest)', function (data) {
        /**
         * 禁用标签
         * 状态 赋值为 1
         */
        var layerIndex = layer.load(3);

        if ((this.checked ? 'true' : 'false') == 'false') {
            $.ajax({
                url: '/users/delete',
                data: {
                    state: 1,
                    userId: data.elem.getAttribute("switchId")
                },
                type: 'PUT', //HTTP请求类型
                success: function (data) {
                    console.log(data);

                    $.message({
                        message: "禁用用户",
                        type: 'success',
                        showClose: true
                    });

                }, error: function () {
                    $.message({
                        message: "boom..",
                        type: 'error',
                        showClose: true
                    });
                }

            })
        } else {
            /**
             * 启动标签
             * 状态 赋值为 0
             */
            $.ajax({
                url: '/users/delete',
                data: {
                    state: 0,
                    userId: data.elem.getAttribute("switchId")
                },
                type: 'PUT',
                success: function (data) {
                    console.log(data);
                    $.message({
                        message: "启动用户",
                        type: 'success',
                        showClose: true
                    });

                }, error: function () {
                    $.message({
                        message: "boom..",
                        type: 'error',
                        showClose: true
                    });
                }

            })
        }
        layer.close(layerIndex);

    });
复制代码

直接复制粘贴就可以用了(记得改下id与状态哦)

 

效果图如下:

提示框用的是bootstrap框架的

 

 

 

下面两行代码可以实现页面的加载效果,第一行放在操作的开头,第二行放在操作的结束

var layerIndex = layer.load(3);  
layer.close(layerIndex);

  

码云地址:https://gitee.com/ckfeng/springboot_mysql_redis.git

 

感谢来访!

  如遇到问题进qq群讨论:837146509

 

posted @   安详的苦丁茶  阅读(9245)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示