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();
                                }
                            })
                        }
                    }
                });
            }
        });
相关推荐
wangruofeng1 小时前
写给开发者的〈重构 UI〉实战笔记:从改好一个设置页开始,告别“程序员审美”
前端·aigc
程序员鱼皮1 小时前
格局!刚刚 DeepSeek 正式开放全家桶 API,咱都能复刻 DeepSeek App 了?
前端·aigc·ai编程
ZhengEnCi2 小时前
登录页电脑端怎么设计才不空:5 种布局方案与可粘贴 AI 提示词
前端·css·设计
Penge6662 小时前
JavaScript:DOM 树
前端
用户0044729538252 小时前
练歌镜:让眼镜听懂“循环这一句”
javascript
Penge6662 小时前
CSS 核心布局指南:盒模型、Flex 布局与 Position 定位
前端
Penge6663 小时前
HTML基础:HTML 标签属性
前端
Penge6663 小时前
HTML 基础:块级元素、行内元素与行内块元素详解
前端
Penge6664 小时前
前端基础:html语义化
前端
用户30816998764854 小时前
同一个端口能被两个程序监听吗?TCP 11 组绑定实测
前端