Layui的 checkbox 全选/单选 示例

本文介绍在layui框架中实现Checkbox全选与单选功能的具体方法,通过使用layui内置的form模块,配合lay-filter属性,实现了Checkbox的动态控制。文章提供了完整的代码示例,包括如何监听全选Checkbox变化并更新所有子Checkbox的状态,以及如何根据子Checkbox的选择情况更新全选Checkbox的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

layui 的checkbox 居然不能用jq上常用的方法控制全选,如下代码不适用

$('#allChecked').change(function(){
   $('#box').children(':checkbox').prop('checked',$(this).is(':checked')?true:false);
});

layui本身有自己的方法控制 lay-filter,代码如下:

layui.use(['form'], function(){
    var form = layui.form();
    //全选
    form.on('checkbox(allChoose)', function (data) {
        $("input[name='check[]']").each(function () {
            this.checked = data.elem.checked;
        });
        form.render('checkbox');
    });
    //单选
    form.on('checkbox(oneChoose)', function (data) {
        var i = 0;
        var j = 0;
        $("input[name='check[]']").each(function () {
            if( this.checked === true )
            {
                i++;
            }
            j++;
        });
        if( i == j )
        {
            $(".checkboxAll").prop("checked",true);
            form.render('checkbox');
        }else
        {
            $(".checkboxAll").removeAttr("checked");
            form.render('checkbox');
        }

    });
});

看到这基本上可以知道,为什么没反应了吧? 是,少form.render(‘checkbox’);

Html

<tr>
 <th width="40" ><input type="checkbox" class="checkboxAll" lay-skin="primary"  lay-filter="allChoose" ></th>
 <th width="210">商品名称</th>
 <th width="160">SKU</th>
 <th width="70">产品类型</th>
 <th width="140">价格(元)</th>
 <th width="140">发布时间</th>
 <th>操作</th>
</tr>
<tr>
   <td><input type="checkbox" name="check[]" value="2" lay-skin="primary" lay-filter="oneChoose"></td>
   <td></td>
   <td></td>
   <td></td>
   <td></td>
   <td></td>
</tr>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值