layui实现数据列表的复选框回显

layui版本2.8以上

实现效果如图:

html 复制代码
<input type="hidden" name="id" id="id" value="{:g_val( 'id',0)}">
<div id="tableDiv">
    <table class="layui-hide" id="table_list" lay-filter="table_list"></table>
</div>

<script src="layui/layui.js"></script>
javascript 复制代码
//方法级渲染
       table.render({
            elem: '#table_list'
            , url: "/admin/****/****_search"
            , cols: [[
                {type:'checkbox'}
                ,{field: 'name', title: '设备名称', width: 200}
                , {field: 'model_number', title: '设备型号', width: 200}
                , {field: 'merchant_name', title: '所属商户', width: 200}
                , {field: 'status', title: '设备状态', width: 120}
                , {field: 'remark', title: '备注', width: 200}
                , {field: 'create_time', title: '创建时间', width: 250}
                , {field: 'update_time', title: '更新时间', width: 250}
            ]]
            // , page: true
            // , limit: 30
            // , height: document.documentElement.offsetHeight - 100
            , height:  'full-180'  // 表格高度根据浏览器自适应
            , page: false// 取消分页时使用
            , limit: Number.MAX_VALUE// 取消分页时使用
            , done: function (res, curr, count) {
                $("[data-field='status']").children().each(function () {
                    if ($(this).text() == '1') {
                        $(this).text("播放中")
                    } else if ($(this).text() == '2') {
                        $(this).text("休息中")
                    }
                });
                $("[data-field='deleted']").children().each(function () {
                    if ($(this).text() == '1') {
                        $(this).text("正常")
                    } else if ($(this).text() == '0') {
                        $(this).text("禁用")
                    }
                });

                $.ajax({
                    url: "/admin/****/get****",
                    type: "post",
                    data: { id: $('#id').val()},
                    success: function (data) {
                        //遍历ajax返回的结果
                        //打印出data的格式为数组实例:[1,2,3,6]
                        for (var i = 0; i < data.length; i++) {
                            //遍历数据表格
                            $.each(res.data, function (index, row) {
                                //判断ajax返回的id是否与数据行中的id相等
                                if (row.id == data[i]) {
                                    // console.log(row.LAY_INDEX);
                                    // console.log(row.LAY_TABLE_INDEX);
                                    $('#tableDiv tr[data-index=' + row.LAY_INDEX + '] input[type="checkbox"]').next().eq(0).click();
                                    $('#tableDiv tr[data-index=' + row.LAY_INDEX + '] input[type="checkbox"]').next().eq(1).click();
                                }
                            })
                        }
                    }
                });
            }
        });
相关推荐
陈随易6 分钟前
农村程序员聊五险一金
前端·后端·程序员
恋猫de小郭8 分钟前
Swift 6.3 正式发布支持 Android ,它能在跨平台发挥什么优势?
android·前端·flutter
xujing_0611 分钟前
跑马灯组件vue3+es6
前端·javascript·es6
小小善后师22 分钟前
告别周报烦恼:我用 200 行代码打造了一个 AI 工时助手
前端
我只是来分享的22 分钟前
Js也能写外挂?8 行代码改掉《植物大战僵尸》的阳光值!对于js来说超越调用大漠超越调用memory.js
javascript
Mahut25 分钟前
我们是怎么用 TanStack 全家桶的
前端·javascript·架构
FreeBuf_30 分钟前
Claude浏览器扩展漏洞允许通过任意网站实现零点击XSS提示注入
前端·网络·xss
AlunYegeer32 分钟前
【JAVA】网关的管理原理和微服务的Interceptor区分
java·服务器·前端
sensen_kiss36 分钟前
CAN302 电子商务技术 Pt.2 深入了解HTML和CSS
前端·css·学习·html
说实话起个名字真难啊1 小时前
前端JS审计:渗透测试的“破局之钥”
开发语言·前端·javascript·测试工具