当你的layui表格要做全选+删除功能【兼容ie8】

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
                                <!-- 全选 -->
                                <div class="choose">
                                    <input type="checkbox" id="chooseAll" name="" title="全选" lay-skin="primary" onclick="chooseall">
                                    <span onclick="delAll()" lay-submit lay-filter="delete">删除记录</span>
                                </div> <td>
            <!-- <input type="checkbox"> -->
            <input type="checkbox" data-id="{{ item.id }}" lay-skin="primary" name="idList[]" value="{{item.id}}">
        </td>
// 全选/取消全选
var flag = true;
var chooseAllstr = '';
$('.choose').on('click', '.layui-form-checkbox', function() {
        var cb = $(".layui-form-checkbox");
        $(".layui-form-checkbox").each(function() {
            if (flag) {
                $(this).addClass('layui-form-checked')
            } else {
                $(this).removeClass('layui-form-checked')
            }
        })
        flag = !flag;
    })

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 删除全选的数据
function delAll() {
    chooseAllstr = '';
    $(".layui-form-checked").each(function() {
        if ($(this).parent().find('input').data("id") && $(this).parent().find('input').data("id") != undefined) {
            chooseAllstr += $(this).parent().find('input').data("id") + ','
        }
    })
    if (chooseAllstr != '') {
        //询问框
        layer.confirm('确认删除全部记录吗?', {
            btn: ['删除', '取消'] //按钮
        }, function() {
            ajax('/pu/ScancodeBehavior/Delete', { idList: chooseAllstr }, function(data) {
                if (data.success) {
                    layer.closeAll();
                    popupSuccess(data.msg);
                    getList(param, function(data) {
                        if (Number(data.count) != 0) {
                            var getTpl = tabletpl.innerHTML,
                                view = document.getElementById('table-adm');
                            laytpl(getTpl).render(data.list, function(html) {
                                view.innerHTML = html;
                            });

-------------------------------------------------------------------  

如果想用layui的name属性获取选中的数据:

1
<span lay-submit lay-filter="deteleSubmit">删除记录</span>

  拼接为逗号分割的字符串,供接口传参,进行删除

1
2
3
4
5
6
7
8
form.on('submit(deteleSubmit)', function(data) {         
    var shuzu = [];
    var arr = '';
    Object.keys(data.field).forEach(function(key) {
        shuzu.push(data.field[key]);
    });
    arr = shuzu.join(",");
})

  

 

posted @   芝麻小仙女  阅读(3189)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示