2013-11-20 40 views
0

我正在使用jQuery,我发现在另一篇文章中,计数复选框被选中。Jquery count复选框并覆盖css

jQuery的

$(document).ready(function() { 
    $("input[type=checkbox]").each(function() { 
     $(this).change(updateCount); 
    }); 
    updateCount(); 

    function updateCount() { 
     var count = $("input[type=checkbox]:checked").size(); 
     $("#count").text(count); 
     $("#statusCount").toggle(count > 0); 
    } 
}); 

HTML

<div id="statusCount" class="text-center mbm"> 
    <span id="count">0</span><br/> 
    <span class="featurecounter">Plans Selected</span> 
</div> 

我的问题:

我需要在jQuery的做实现以下目标:

  1. 检查当前计数> 4
  2. 如果1为真变化.statusCount {background-color:red}

基本上,如果用户选择了不止,背景变为红色。

+0

你不应该使用大小()HTTP: //api.jquery.com/size/ –

+1

只是一个问题 - 你知道当前的updateCount()是做什么的吗? –

+0

注意到..谢谢A.沃尔夫 –

回答

1

在你的函数试试这个代码updateCount

if (count > 4) { 
    $("#statusCount").css('background-color','red'); 
} else { 
    $("#statusCount").css('background-color',''); 
} 

演示:http://jsfiddle.net/CAs2s/1/

+0

谢谢zzlalani!这个伎俩。真的很简单。我需要退出拖延并学习JS。 –

+0

是的..也请注意我刚才在代码中所做的更正.. – zzlalani

+0

虽然有一个问题..当我取消选中复选框时,总计回落到<= 4时,框保持红色。如果可能的话,我希望它回到原来的颜色。 –

0

尝试添加类.statusCount如果检查count > 4

$("input[type=checkbox]").change(updateCount); 
updateCount(); 

function updateCount() { 
    var count = $(":checkbox:checked").length; 
    $("#count").text(count); 
    $("#statusCount").toggle(count > 0); 
    if (count > 4) { 
    $("#statusCount").addClass('statusCount'); 
    } 
};