问题:循环元素,被选中元素个数,全选

简介: 一段时间不写js都有点忘记了,这里看几个常见的js,涉及到循环,计算元素个数,checkbox选中等问题,首先是html元素 Select All ...

一段时间不写js都有点忘记了,这里看几个常见的js,涉及到循环,计算元素个数,checkbox选中等问题,首先是html元素

<div class="content border p05">
            <div><input type="checkbox" id="selectAll" name="selectAll">Select All</div>
            <table>
                <tbody>
                    <tr style="text-align: left;">
                        <th>&nbsp;</th>
                        <th style="width:10%;">Qty</th>
                        <th>Descritpion</th>
                        <th>Item ID</th>
                    </tr>
                                        <tr>
                        <td><input type="checkbox" class="item_id" value="29714200" name="item_id[]" style="width: 12px;"></td>
                        <td>25</td>
                        <td>Personalized Holiday CardsPersonalized Holiday Cards - 5" x 7" Cardstock - Standard Cardstock - White Envelopes</td>
                        <td>29714200</td>
                    </tr>
                                        <tr>
                        <td style="text-align: center;padding-top:30px;" colspan="4"><div class="btn large step1">Submit</div></td><td>
                    </td></tr>
                </tbody>
            </table>
        </div>

1.全选问题

        $('#selectAll').click(function() {
            if($(this).attr('checked') == 'checked') {
                $("input[name='item_id[]']").attr("checked", true);
                //$('.item_id').attr('checked', true);
                var length = $('.item_id').length;
                $('#number').html(length);                
            } else {
                $('.item_id').removeAttr('checked');
                $('#number').html(0);
            }
        });

注意判断checkbox是否选中是"if($(this).attr('checked') == 'checked')",不是if($(this).attr('checked') == ture),但是很奇怪的是可以用true赋值$("input[name='item_id[]']").attr("checked", true);

 

2.判断checkbox选中个数

$('.item_id:checked').length,这个写法很简洁的

 

3.循环元素,绑定函数

            var num = 0;
            $.each($('.item_id'),function(i,v){
                if($(this).attr('checked') == 'checked'){
                    num++;
                }
            });
            if(0 == num){
                alert('please select item(s)');
                return false;
            }

其实这写法有点啰嗦,可以直接if(0==$('.item_id:checked').length){ alert('please select item(s)'); }

 

作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com  联系我,非常感谢。

目录
相关文章
|
6月前
|
JavaScript 前端开发
页面插入元素
页面插入元素
54 8
|
2月前
|
JavaScript
jQ在元素的不同位置插入元素
jQ在元素的不同位置插入元素
|
3月前
列表元素
【8月更文挑战第4天】列表元素。
39 8
|
6月前
|
索引
将数组指定索引位置的元素 移动到 目标索引位置,且不改变其他元素原本的顺序,注意这个不是对调元素位置,是移动某一个元素位置不影响其他元素顺(使用场景:拖拽改变数据的顺序,点击上下左右箭头移动元素顺序)
将数组指定索引位置的元素 移动到 目标索引位置,且不改变其他元素原本的顺序,注意这个不是对调元素位置,是移动某一个元素位置不影响其他元素顺(使用场景:拖拽改变数据的顺序,点击上下左右箭头移动元素顺序)
全选和反选中for循环加if判断只会判断最后一个的问题(已解决)
全选和反选中for循环加if判断只会判断最后一个的问题(已解决)
53 0
|
6月前
如何删除数组中的某个元素?
如何删除数组中的某个元素?
74 0
|
6月前
|
算法 Java C++
请实现一个队列,支持以下操作:添加元素、删除第一个元素、获取第一个元素。
请实现一个队列,支持以下操作:添加元素、删除第一个元素、获取第一个元素。
48 0
|
6月前
列表排序按钮常用方法,实现“向前移动到第一个↑”、“向前移动∧”、“向后移动∨”、“向后移动到最后一个↓”
列表排序按钮常用方法,实现“向前移动到第一个↑”、“向前移动∧”、“向后移动∨”、“向后移动到最后一个↓”
|
小程序 JavaScript
小程序循环列表删除当前选中列表的方法
小程序循环列表删除当前选中列表的方法
111 0