取消选中具有相同类的所有复选框

时间:2013-06-19 07:39:19

标签: jquery

我有一个脚本可以检查所有具有相同类的复选框。

但是,我已经设置了取消检查所有无法正常工作的条件。

这是我的代码

function check_all() {
    if ($('#all_check').prop("checked")) {
        $('.chk').prop("checked", "true");
    } else {
        $('.chk').prop("checked", "false");
    }
}

$('.chk').prop("checked", "false");行有一些问题,但我找不到。

只有代码的这一部分无效。

7 个答案:

答案 0 :(得分:4)

只需移除truefalse周围的引号即可。它们是数据类型而不是字符串。

function check_all() {
    if ($('#all_check').prop("checked")) {
        $('.chk').prop("checked", true);

    } else {
        $('.chk').prop("checked", false);

    }
}

答案 1 :(得分:2)

我在代码中看到的唯一问题是truefalse的双引号

function check_all() {
  if ($('#all_check').prop("checked")) {
    $('.chk').prop("checked", true);
  } else {
    $('.chk').prop("checked", false);
  }
}

您也可以简化如下,

function check_all() {
  $('.chk').prop("checked", $('#all_check').prop("checked"));
}

因为$('#all_check').prop("checked")会返回truefalse。因此,它将设置为具有类checked

的复选框的.chk属性

答案 2 :(得分:1)

这样做

function check_all() {
     $('.chk').prop("checked", $('#all_check').is(":checked"));
}

答案 3 :(得分:1)

最短路:

function check_all() {
  $('.chk').prop( "checked", $('#all_check').is(":checked") );
}

答案 4 :(得分:0)

你不需要""。传递布尔

$('.chk').prop("checked", true);
$('.chk').prop("checked", false);

答案 5 :(得分:0)

TrueFalse应该是一个布尔值。您在prop函数中分配字符串值。

 $('.chk').prop("checked", true);
 $('.chk').prop("checked", false);

答案 6 :(得分:0)

只需使用jQuery中的.attr()函数

function checkall() {
    $('.chk').attr('checked', $('#all_check').is(':checked'));
}