全选/全不选


前言

记录一下实现全选/全不选、单项复选框点击,以及这两者之间的相互联动关系。

提示:以下是本篇文章正文内容,下面案例可供参考

一、复选框

1.1 需求

① 选中全选框,可以选中当前页面的所有数据(所有数据前的复选框自动选中),取消选中全选框满所有记录前的单选框自动取消
② 当所有的单选框全部选中时,全选框也自动选中,当当前页面的数据有未选中项时,全选框没有选中
在这里插入图片描述
代码:

				 <form action="/category/deleteBatch" id="df">
                    <table id="simple-table" class="table  table-bordered table-hover">
                        <thead>
                        <tr>
                            <th><input type="checkbox" id="checkAll"></th>
                            <th>编号</th>
                            <th>名称</th>
                            <th>操作</th>
                        </tr>
                        </thead>
                        <tbody>
                        <!-- 数据回显 -->
                        <tr th:each="cate, status : ${page.list}">
                            <td>
                                <input type="checkbox" name="id" th:value="${cate.categoryId}">
                            </td>
                            <td th:text="${cate.categoryId}">1</td>
                            <td th:text="${cate.categoryName}">名字</td>
                            <td>
                                <div class="hidden-sm hidden-xs btn-group">
                                    <a class="btn btn-xs btn-info"
                                       th:href="|/category/toUpdate/${cate.categoryId}|">
                                        <i class="ace-icon fa fa-pencil bigger-120"></i>
                                    </a>
                                    <a class="btn btn-xs btn-info" th:href="|/category/delete/${cate.categoryId}|">
                                        <i class="ace-icon fa fa-trash-o bigger-120"></i>
                                    </a>
                                </div>
                            </td>
                        </tr>
                        </tbody>
                    </table>
                </form>

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

1.2 js事件


<script>

    $(function () {
        // 全选全不选
        $("#checkAll").click(function () {
            var flag = $("#checkAll").prop("checked")
            var idList = $("input[name='id']");
            for (var i = 0; i < idList.length; i++) {
                $(idList[i]).prop("checked", flag);
            }
        });

        // 单个复选框
        $("input[name='id']").click(function () {
            var checkAll = $("#checkAll");
            var idList = $("input[name=id]");
            for (var i = 0; i < idList.length; i++) {
                if ($(idList[i]).prop("checked") == false) {
                    checkAll.prop("checked", false);
                    return;
                }
            }

            checkAll.prop("checked", true);
        });
</script>

二 、总结

① 这个功能其实不难,逻辑好想,就是点击全选框时,把全选框的checked选中状态,同步到每一条数据前的复选框中;
② 单条数据的选中或者取消选中,都要对当前页面的所有数据的复选框选中状态进行判断,并以此对全选框的状态进行操作。
③ 这个页面还有个批量删除的功能,就是在①②的多选基础上,将选中的复选框的值,提交到后端,进行接收处理,后端接收字段的名称要和前端页面的保持一致;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值