layui 表单中多选反选

 layui checkbox 反选/全选/取消单个取消全选/全部选中勾上全选

<form class="layui-form" action="">
    <div class="layui-form-item">
        <label class="layui-form-label">公告标题</label>
        <div class="layui-input-inline">
            <input type="text" name="title" lay-verify="title" autocomplete="off" placeholder="请输入标题" class="layui-input">
        </div>
    </div>

    <div class="layui-form-item">
        <label class="layui-form-label">选择辖区机关</label>
        <div class="layui-input-block">
            <input type="checkbox" lay-skin="primary"  lay-filter="select_all" class="select_all" title="全部">
            <input type="checkbox" lay-skin="primary"  lay-filter="invert" class="invert" title="反选">
            <br/><br/>
            <input type="checkbox" name="police_id" lay-skin="primary" lay-filter="select_single" class="select_single"  title="鲁山县公安局" value="10001">
            <input type="checkbox" name="police_id" lay-skin="primary" lay-filter="select_single" class="select_single"  title="宝丰县公安局" value="10002">
            <input type="checkbox" name="police_id" lay-skin="primary" lay-filter="select_single" class="select_single"  title="汝州市公安局" value="10003">
            <input type="checkbox" name="police_id" lay-skin="primary" lay-filter="select_single" class="select_single"  title="舞钢市公安局" value="10004">
            <input type="checkbox" name="police_id" lay-skin="primary" lay-filter="select_single" class="select_single"  title="叶县公安局" value="10005">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">选择辖区公司</label>
        <div class="layui-input-block">
            <input type="checkbox" lay-skin="primary"   lay-filter="select_all" class="select_all" title="全部">
            <input type="checkbox" lay-skin="primary"   lay-filter="invert" class="invert" title="反选">
            <br/><br/>
            <input type="checkbox" name="company_id" lay-skin="primary" lay-filter="select_single" class="select_single"  title="北京分公司" value="10001">
            <input type="checkbox" name="company_id" lay-skin="primary" lay-filter="select_single" class="select_single"  title="上海分公司" value="10002">
            <input type="checkbox" name="company_id" lay-skin="primary" lay-filter="select_single" class="select_single"  title="西安分公司" value="10003">
            <input type="checkbox" name="company_id" lay-skin="primary" lay-filter="select_single" class="select_single"  title="常州分公司" value="10004">
            <input type="checkbox" name="company_id" lay-skin="primary" lay-filter="select_single" class="select_single"  title="肇庆分公司" value="10005">
        </div>
    </div>
  
</form>
<script type="text/javascript">
    layui.use(['form','jquery'], function () {
        var form = layui.form;
        var $ = layui.jquery;
        //全选
        form.on('checkbox(select_all)', function (data) {
            var a = data.elem.checked;
            var parent = data.elem.parentNode;
            if (a == true) {
                $(parent).children(".select_single").prop("checked", true);
                form.render('checkbox');
            } else {
                $(parent).children(".select_single").prop("checked", false);
                form.render('checkbox');
            }

        });
        //反选
        form.on('checkbox(invert)', function (data) {
            var parent = data.elem.parentNode;
            var item = $(parent).children(".select_single");
            item.each(function () {
                if ($(this).prop("checked")) {
                    $(this).prop("checked", false);
                } else {
                    $(this).prop("checked", true);
                }
            })
            form.render('checkbox');


        });
        //有一个未选中全选取消选中
        form.on('checkbox(select_single)', function (data) {
            var parent = data.elem.parentNode;
            var item = $(parent).children(".select_single");
            for (var i = 0; i < item.length; i++) {
                if (item[i].checked == false) {
                    $(parent).children(".select_all").prop("checked", false);
                    form.render('checkbox');
                    break;
                }
            }
            //如果都勾选了  勾上全选
            var  all=item.length;
            for (var i = 0; i < item.length; i++) {
                if (item[i].checked == true) {
                    all--;
                }
            }
            if(all==0){
                $(parent).children(".select_all").prop("checked", true);
                form.render('checkbox');}
        });
    });
</script>

效果布局如下:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值