2

我有 5 个divclass .thumb-folder每个里面都包含一个checkbox. 我也有另一个div同班.alarm

checkboxes当检查1或多个时,div使用.alarm class更改背景为红色。

仅在未选中时如何将其更改为div.alarm classbackground #333checkboxes

这是我当前代码的 jsfiddle 的链接。

4

3 回答 3

5

使用您用于绑定处理程序的相同电子选择器来检查是否选中了任何复选框。

  $('.thumb-folder input:checkbox').on('click', function (e) {
      if ($('.thumb-folder input:checkbox').is(':checked')) {
        $('div.alarm').css("background-color","red");
      } 
    else{
        $('div.alarm').css("background-color","#333");
      }
  });

演示

于 2013-01-18T04:33:45.250 回答
3

您可以使用长度来查找选中的复选框计数:checked

现场演示

$('.thumb-folder input:checkbox').on('click', function (e) {
  if ($('.thumb-folder :checked').length == 0)
     $('div.alarm').css("background-color", "#333");
  else 
     $('div.alarm').css("background-color", "red");
});
于 2013-01-18T04:31:34.630 回答
3

你可以在 3 行中做到这一点:

 $('.thumb-folder input:checkbox').on('click', function (e) {
        $('div.alarm').css("background-color",(($("input[type='checkbox']:checked").length > 0) ? "red" : "#333"));
  });
于 2013-01-18T04:44:16.150 回答