layui默认选中table的CheckBox复选框

方法一:如何根据条件判断是否默认选中table表格前面的复选框

table.render({
    elem: '#userTable'
    , url: '../sysRole/getUserList'
    , title: '用户列表'
    , page: true //开启分页
    , cols: [[
        {type:'checkbox'}
        , {field: 'userName',sort: true, title: '用户名称'}
        , {field: 'account',sort: true, title: '登录账户'}
        , {field: 'deleteFlg',sort: true, title: '是否启用'}
    ]]
    ,done: function(res, page, count){
        //可以自行添加判断的条件是否选中
        //这句才是真正选中,通过设置关键字LAY_CHECKED为true选中,这里只对第一行选中
        res.data[0]["LAY_CHECKED"]='true';
        //下面三句是通过更改css来实现选中的效果
        var index= res.data[0]['LAY_TABLE_INDEX'];
        $('tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
        $('tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
    }
});

方法二:checkFuntion()当翻页或加载时判断是否选中复选框,input第一行禁用,第二行选中,第三行未选中

<script>
        //存储选中的设备Id
        var checkId=[];
    </script>
<table class="layui-hide" id="deviceList" lay-filter="deviceFilter"></table>
                            //模板页定义复选框,可以直接写js控制是否选中
                            <script type="text/html" id="checkboxTpl">
                                {{#
                                function checkFuntion(arry){
                                    var isTrue=false;
                                    for(var index in arry){
                                        if(arry[index]==d.id){
                                            isTrue=true;
                                            break;
                                        }
                                    }
                                    return isTrue;
                                };
                                if(d.deviceAreaId!=null){  }}
                                <input type="checkbox" lay-skin="primary" value="{{d.id}}" lay-filter="deviceIdFilter" disabled>
                                {{#  } else {
                                    if(checkFuntion(checkId)){ }}
                                <input type="checkbox" lay-skin="primary" id="{{d.id}}" isCheck="true" value="{{d.id}}" lay-filter="deviceIdFilter" checked>
                                    {{#  } else { }}
                                <input type="checkbox" lay-skin="primary" id="{{d.id}}" isCheck="false" value="{{d.id}}" lay-filter="deviceIdFilter">
                                    {{#  } }}
                                {{#  } }}
                            </script>

table.render({
                    elem: '#deviceList'
                    , url: '../devices/findALL' //数据接口
                    , title: '仪表表'
                    ,height:'480px'
                    ,where:{"gatewaySN":selectPid,"channel":searchId}
                    , page: true //开启分页
                    , cols: [[ //表头
                        {field:'id',width: '5%',templet: '#checkboxTpl',title: '<div id="checkAll" onclick="selectAll()" all="false" class="layui-unselect layui-form-checkbox" lay-skin="primary"><i class="layui-icon layui-icon-ok"></i></div></div>'}
                        // ,{field: 'id', title: 'ID', width: '5%', sort: true, title: 'ID'}
                        , {field: 'deviceName', width: '25%', sort: true, title: '仪表名称'}
                        , {field: 'type', width: '15%', sort: true, title: '仪表类型'}
                        , {field: 'entryName', width: '15%', sort: true, title: '能耗分项'}
                        , {field: 'deviceDesc', width: '40%', sort: true, title: '仪表描述'}
                    ]]
                    ,done: function(res, page, count){
                        //每次翻页或者重载时判断是否全选
                        if ( $('input[isCheck="false"]').length==0){
                            $("#checkAll").attr('all','true');
                            $("#checkAll").addClass('layui-form-checked');
                        }else {
                            $("#checkAll").attr('all','false');
                            $("#checkAll").removeClass('layui-form-checked');
                        }
                    }
                });
    //全选按钮事件
    function selectAll() {
        var checkAll = $("#checkAll");
        if (checkAll.attr('all') == "false") {
            console.log($('input[isCheck="false"]'));
            $('input[isCheck="false"]').each(function () {
                $(this).next().click();
            });
            checkAll.attr('all', 'true');
            checkAll.addClass('layui-form-checked');
        } else if (checkAll.attr('all') == "true") {
            $('input[isCheck="true"]').each(function () {
                $(this).next().click();
            });
            checkAll.attr('all', 'false');
            checkAll.removeClass('layui-form-checked');
        }
    }

 

  • 7
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
要实现行点击选中复选框的效果,可以通过以下步骤来实现: 1. 在表头中添加一个全选的复选框,并为其设置一个ID。 2. 在每一行的第一列中添加一个复选框,并为其设置一个class,例如“check-box”。 3. 给表格绑定一个点击事件,在点击事件中判断点击的元素是否为复选框或者全选的复选框,如果是,则执行对应的操作。 4. 当点击某一行时,获取该行的复选框元素,并设置其选中状态为true。 下面是一个示例代码: ```html <table class="layui-table" id="myTable"> <thead> <tr> <th><input type="checkbox" name="" lay-skin="primary" id="checkAll"></th> <th>列1</th> <th>列2</th> <th>列3</th> </tr> </thead> <tbody> <tr class="tr_layui"> <td><input type="checkbox" name="" lay-skin="primary" class="check-box"></td> <td>行1列1</td> <td>行1列2</td> <td>行1列3</td> </tr> <tr class="tr_layui"> <td><input type="checkbox" name="" lay-skin="primary" class="check-box"></td> <td>行2列1</td> <td>行2列2</td> <td>行2列3</td> </tr> </tbody> </table> <script> // 全选复选框的点击事件 $('#checkAll').on('click', function() { if ($(this).is(':checked')) { $('.check-box').prop('checked', true); } else { $('.check-box').prop('checked', false); } }); // 行点击事件 $('.tr_layui').on('click', function() { // 判断是否为复选框或者全选复选框 if ($(event.target).is(':checkbox')) { return; } // 获取该行的复选框元素 var checkBox = $(this).find('.check-box'); // 判断该复选框是否已选中 if (checkBox.is(':checked')) { checkBox.prop('checked', false); } else { checkBox.prop('checked', true); } }); </script> ``` 在这段代码中,我们首先给表头添加一个ID为“checkAll”的全选复选框,然后在每一行的第一列中添加class为“check-box”的复选框。接着,我们给全选复选框和每行绑定点击事件,在事件中判断点击的元素是否为复选框或者全选复选框,然后执行对应的操作。当点击某一行时,我们获取该行的复选框元素,并设置其选中状态。这样,就可以实现行点击选中复选框的效果了。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值