Javascript 如何使用jquery检查/取消检查所有复选框

Javascript 如何使用jquery检查/取消检查所有复选框,javascript,jquery,Javascript,Jquery,我有这个HTML代码 <div class="friends_container"> <div class="friend"> <input type="checkbox" /> ... </div> <div class="friend"> <input type="checkbox" /> ... </div> <di

我有这个HTML代码

<div class="friends_container">
   <div class="friend">
       <input type="checkbox" />    
      ...
   </div>
<div class="friend">
       <input type="checkbox" />    
      ...
   </div>
<div class="friend">
       <input type="checkbox" />    
      ...
   </div>
</div>

...
...
...
使用全选/取消全选链接

<a id="selectall" href="#" >select all</a>

我试图让它工作,但失败了。。有什么帮助吗


jsFIDLE

通过将链接更改为复选框,这将很容易

试试这个

<input id="selectall" type="checkbox"  />select all


使用
a
链接

$('#selectall').click(function(){
    $('.friend').find('input:checkbox').prop('checked',true);
})

再创建一个链接以取消选中复选框

将链接更改为复选框将很容易

试试这个

<input id="selectall" type="checkbox"  />select all


使用
a
链接

$('#selectall').click(function(){
    $('.friend').find('input:checkbox').prop('checked',true);
})
再创建一个链接以取消选中复选框以选中-

$(“输入[type='checkbox']”)prop('checked',true)

取消选中-

$(“输入[type='checkbox']”)。prop('checked',false)

使用锚点进行此操作-

$("#selectall").click(function(){
   $("input[type='checkbox']").prop('checked', true);
});
如果你有一些锚来取消选择-

您可以向其添加“取消选择所有侦听器”——

$("#deselectall").click(function(){
   $("input[type='checkbox']").prop('checked', false);
});
检查-

$(“输入[type='checkbox']”)prop('checked',true)

取消选中-

$(“输入[type='checkbox']”)。prop('checked',false)

使用锚点进行此操作-

$("#selectall").click(function(){
   $("input[type='checkbox']").prop('checked', true);
});
如果你有一些锚来取消选择-

您可以向其添加“取消选择所有侦听器”——

$("#deselectall").click(function(){
   $("input[type='checkbox']").prop('checked', false);
});

jquery
Version1.6+
use
prop

$("#input[type='checked']").prop('checked',true);
jquery
Version1.6-
use
attr

$("#input[type='checked']").attr('checked','checked');


jquery
Version1.6+
use
prop

$("#input[type='checked']").prop('checked',true);
jquery
Version1.6-
use
attr

$("#input[type='checked']").attr('checked','checked');

为此,可以使用jQuery方法

$(function() {
    var $checkboxes = $('.friends_container>.friend>input:checkbox');
    $('#selectall').on('click', function(e) {
        e.preventDefault();
        $(this).toggleClass('selected');
        $checkboxes.prop('checked', function() {
            return !this.checked;
        });
    });
});

您可以为此使用jQuery方法

$(function() {
    var $checkboxes = $('.friends_container>.friend>input:checkbox');
    $('#selectall').on('click', function(e) {
        e.preventDefault();
        $(this).toggleClass('selected');
        $checkboxes.prop('checked', function() {
            return !this.checked;
        });
    });
});

在SO上有n个关于选中/取消选中复选框的问题。这还不够吗?这里有n个关于勾选/取消勾选复选框的问题。这还不够吗?
true
不是所述已检查属性的有效值。当使用
prop
设置已检查/已选择属性时,应使用布尔值而不是字符串。@ABFORCE modified ans…
true
不是所述已检查属性的有效值,使用
prop
设置选中/选中时,应使用布尔值而不是字符串。@ABFORCE modified ans…单击不是复选框的正确事件,我认为更改事件是better@ABFORCE看看有问题的HTML或我的演示
#selectall
是一个锚元素。要求是在用户单击时选中/取消选中复选框。但是,当我执行
$('selectall').attr('checked','checked')时会发生什么?这样,要求就不满足了。我认为,你不会为
a#selectall
这样做。单击复选框不是合适的事件,我认为更改事件是better@ABFORCE看看有问题的HTML或我的演示
#selectall
是一个锚元素。要求是在用户单击时选中/取消选中复选框。但是,当我执行
$('selectall').attr('checked','checked')时会发生什么?这样的话,这个要求就不会满足了。我想你不会为
a#selectall
这样做。