Jquery 如果至少有一个复选框输入为“addClass”;勾选“;,如果未选中,请删除类

Jquery 如果至少有一个复选框输入为“addClass”;勾选“;,如果未选中,请删除类,jquery,checkbox,input,addclass,removeclass,Jquery,Checkbox,Input,Addclass,Removeclass,我目前正在尝试根据是否选中列表中的复选框输入(至少1个,最小值)来运行jQuery命令。本质上,如果选中任何复选框,我将使另一个元素看起来是活动的,但如果选中0个复选框,则希望该活动状态/类消失 以下是我当前的jQuery: $('#data.backup input.backup').change(function () { if ($(this).is(":checked")) { $('#sticky-button.backup').addClass("active");

我目前正在尝试根据是否选中列表中的复选框输入(至少1个,最小值)来运行jQuery命令。本质上,如果选中任何复选框,我将使另一个元素看起来是活动的,但如果选中0个复选框,则希望该活动状态/类消失

以下是我当前的jQuery:

$('#data.backup input.backup').change(function () {
  if ($(this).is(":checked")) {
    $('#sticky-button.backup').addClass("active");
  } else {
  $('#sticky-button.backup').removeClass("active");
  }
});

虽然初始if语句以一种方式工作(添加活动类),但在我取消选中任何框时,它会运行removeClass命令。如何调整代码,使else语句仅在未选中任何输入时运行?

检查整个集合,而不是仅检查
is()
如果选中任何复选框,则返回true

var boxes = $('#data.backup input.backup');

boxes.on('change', function () {
  if ( boxes.is(":checked") ) {
      $('#sticky-button.backup').addClass("active");
  } else {
      $('#sticky-button.backup').removeClass("active");
  }
});
你可以用toggleClass来缩短它

var boxes = $('#data.backup input.backup');

boxes.on('change', function () {
  $('#sticky-button.backup').toggleClass("active", boxes.is(":checked"));
});

使用
切换类
并选中选中的
复选框的长度

$("#data.backup input.backup").change(function()
{
    $("#sticky-button.backup").toggleClass("active", $("input.backup:checked").length > 0);
});

当一个复选框未选中时(更改时),您需要迭代所有复选框,并查看是否仍选中了任何复选框,您可以使用jQuery提供的$执行此操作。每个函数:

$('#data.backup input.backup').change(function () {
    if ($(this).is(":checked")) {
        $('#sticky-button.backup').addClass("active");
    } else {
        var areAnyChecked = false;

        $('#data.backup input.backup').each(function() {
            if ($(this).is(":checked")) { 
                areAnyChecked = true;
            });
        });

        if(areAnyChecked != true) {
            $('#sticky-button.backup').removeClass("active");
        }
    }
});

选中复选框时使用
toggleClass
。这非常有效,正是我想要的!非常感谢。
$('#data.backup input.backup').change(function () {
    if ($(this).is(":checked")) {
        $('#sticky-button.backup').addClass("active");
    } else {
        var areAnyChecked = false;

        $('#data.backup input.backup').each(function() {
            if ($(this).is(":checked")) { 
                areAnyChecked = true;
            });
        });

        if(areAnyChecked != true) {
            $('#sticky-button.backup').removeClass("active");
        }
    }
});
$('#data.backup input.backup').change(function () {
  if ($(this).is(":checked")) {
    $('#sticky-button.backup').addClass("active");
  } else {
      var flag=0;
      $('#data.backup input.backup').each(function(){
          if ($(this).is(":checked")) {
              $('#sticky-button.backup').addClass("active");
            flag=1;             
          }
          if(flag == 0){
              $('#sticky-button.backup').removeClass("active");
          }
      });
  }
});