面试问题之电商网站中购物车如何实现一键全选或者一键全不选功能??

答案是遍历checklist,修改checkbox的状态;那么有哪些方法可以遍历checklist呢??

html代码如下:

  <div>    
                 <input type="checkbox" name="ckb" value="1" />1    
                 <input type="checkbox" name="ckb" value="2" />2    
                 <input type="checkbox" name="ckb" value="3" />3    
                 <input type="checkbox" name="ckb" value="4" />4    
                 <input type="checkbox" name="ckb" value="5" />5    
                 <input type="checkbox" name="ckb" value="6" />6    
                 <input type="checkbox" name="ckb" value="7" />7    
                 <input type="checkbox" name="ckb" value="8" />8    
                <input type="checkbox" name="ckb" value="9" />9    
                <input type="checkbox" name="ckb" value="10" />10<br>    
                <input type="button" id="btn" value="遍历"/>    
                <div id="txt"></div>    
           </div>   

方法一:

      通过type属性遍历

<script>    
                  $(document).ready(function(){    
                      $("#btn").click(function(){    
                          var str = "";    
                          $("input[type='checkbox']").each(function(){    
                              if($(this).is(":checked"))    
                              {    
                                  str = "yes";   
                              }    else{
                                 str = "no";
                             }
                               alert(str);
                         });                    
                     });    
                 });    
 </script>  

方法二:

通过name属性遍历

<script>    
                $(document).ready(function(){    
                    $("#btn").click(function(){    
                        var str = "";    
                        $("input[name='ckb']").each(function(){    
                            if($(this).is(":checked"))    
                            {    
                                 str = "yes";    
                            }    else{
                                  str = "no";   
                           }
                             alert(str);
                        });     
                    });    
                });    
</script>

注意:checkbox被选中checked="checked",未选择则是undefined

jquery操作复选框(checkbox)的12个小技巧总结

1、获取单个checkbox选中项(三种写法)

$("input:checkbox:checked").val()

或者

$("input:[type='checkbox']:checked").val();

或者

$("input:[name='ck']:checked").val();

2、 获取多个checkbox选中项

1 $('input:checkbox').each(function() {
2         if ($(this).attr('checked') ==true) {
3                 alert($(this).val());
4         }
5 });

3、设置第一个checkbox 为选中值

$('input:checkbox:first').attr("checked",'checked');

或者

$('input:checkbox').eq(0).attr("checked",'true');

4、设置最后一个checkbox为选中值

$('input:radio:last').attr('checked', 'checked');

或者

$('input:radio:last').attr('checked', 'true');

5、根据索引值设置任意一个checkbox为选中值

$('input:checkbox).eq(索引值).attr('checked', 'true');索引值=0,1,2....

或者

$('input:radio').slice(1,2).attr('checked', 'true');

6、选中多个checkbox同时选中第1个和第2个的checkbox

$('input:radio').slice(0,2).attr('checked','true');

7、根据Value值设置checkbox为选中值

$("input:checkbox[value='1']").attr('checked','true');

8、删除Value=1的checkbox

$("input:checkbox[value='1']").remove();

9、删除第几个checkbox

1 $("input:checkbox").eq(索引值).remove();索引值=0,1,2....
2 //如删除第3个checkbox:
3 $("input:checkbox").eq(2).remove();

10、遍历checkbox

1 $('input:checkbox').each(function (index, domEle) {
2 //写入代码
3 });

11、全部选中

1 $('input:checkbox').each(function() {
2         $(this).attr('checked', true);
3 });

12、全部取消选择

1 $('input:checkbox').each(function () {
2         $(this).attr('checked',false);
3 });

猜你喜欢

转载自blog.csdn.net/qq_42209411/article/details/85041730