jquery实现列表中Checkbox选中与反选,及获取选中的值

在日常开发中我们经常会遇到列表中使用Checkbox全选数据进行操作,特总结一下。

全选与反选我这里采用了两种方式,

第一种:通过class进行选择

html代码:

<table class="table-list"  width="100%">
                    <thead>
                        <tr>
                            <th><input type="checkbox" class="checkbox-input checkbox_all"></th>
                            <th>客户名称</th>
                            <th>客户等级</th>
                            <th>地区</th>
                            <th>联系电话</th>                            
                        </tr>

                    </thead>
                    <tbody>
                                <tr>
                                    <td><input type="checkbox" class="checkbox-input checkbox-data" name="1"></td>
                                    <td>伍尔特</td>
                                     <td>B</td>
                                    <td>北京</td>
                                    <td>157****4101</td>
                                </tr>
<tr>
                                    <td><input type="checkbox" class="checkbox-input checkbox-data" name="2"></td>
                                    <td>王老板</td>
                                     <td>B</td>
                                    <td>北京</td>
                                    <td>157****4101</td>
                                </tr>
<tr>
                                    <td><input type="checkbox" class="checkbox-input checkbox-data" name="3"></td>
                                    <td>张先生</td>
                                     <td>B</td>
                                    <td>上海</td>
                                   <td>157****4101</td>
                                </tr>
</tbody>
                               </table>

js代码:

  $('.checkbox_all').on('click', function () {
         if ($(this).prop("checked") == true) {
            // 上面的复选框已被选中
            $(".checkbox-data").prop("checked", true);
        } else {
            // 上面的复选框没被选中
            $(".checkbox-data").prop("checked", false);
        }
    });

 

第二种,通过name获取,通过name获取的话,需要保证可被选中的checkbox的name必须是一致的。

html代码:

<table  class="table-list" width="100%">
                    <thead>
                        <tr>
                            <th><input type="checkbox" class="checkbox-input checkbox_all"></th>
                            <th>客户名称</th>
                            <th>客户等级</th>
                            <th>地区</th>
                            <th>联系电话</th>                            
                        </tr>

                    </thead>
                    <tbody>
                                <tr>
                                    <td><input type="checkbox" class="checkbox-input" name="checkbox-data"></td>
                                    <td>伍尔特</td>
                                     <td>B</td>
                                    <td>北京</td>
                                    <td>157****4101</td>
                                </tr>
                                <tr>
                                    <td><input type="checkbox" class="checkbox-input" name="checkbox-data"></td>
                                    <td>王老板</td>
                                     <td>B</td>
                                    <td>北京</td>
                                    <td>157****4101</td>
                                </tr>
                                <tr>
                                    <td><input type="checkbox" class="checkbox-input" name="checkbox-data"></td>
                                    <td>张先生</td>
                                     <td>B</td>
                                    <td>上海</td>
                                   <td>157****4101</td>
                                </tr>
                            </tbody>
                               </table>

 js代码:

  $('.checkbox_all').on('click', function () {
         if ($(this).prop("checked") == true) {
            // 上面的复选框已被选中
            $(":checkbox[name='checkbox-data']").prop("checked", true);
        } else {
            // 上面的复选框没被选中
            $(":checkbox[name='checkbox-data']").prop("checked", false);
        }
    });

 

以上是我整理的两种checkbox全选与反选的代码。

以下是获取列表中选中的值,我采用的是以上的第一种通过class进行选中与反选,name存放单条数据的Id

  $('.table-list').find(':checkbox').each(function () {
            if ($(this).is(":checked")) {
                var id = $(this).attr('name');
                alert(id);
            }
        });

简单的梳理了一下,可能不是最好的也不是最优的,仅供参考学习。如果有更好的写法欢迎留言讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值