坚持检查是否选中了两个复选框中的任何一个

时间:2013-09-25 22:15:47

标签: javascript jquery html

我的JS代码可以确定是否选中了任何给定的HTML复选框并执行更多操作。 但是,只有在选择了至少两个项目时,我才需要做一些事情。我当前代码的一部分:

    if ($('#a5').is(':checked') || $('#a6').is(':checked') 
|| $('#a7').is(':checked')|| $('#a8').is(':checked')) 
   {
    $('#circle_2').css('background-color', '#FF0');
   }

我无法弄清楚如果选中至少2个复选框,我应该如何评估。对此有何帮助?

3 个答案:

答案 0 :(得分:1)

获取复选框,过滤掉任何未选中的复选框,并查看是否有多个(两个或更多):

if ( $('#a5, #a6, #a7, #a8').filter(':checked').length > 1 ) {

   // do stuff

}

答案 1 :(得分:0)

我建议(假设复选框有一个共同的祖先元素):

$('#circle_2').css('background-color', function(){
    return $('#ancestorElementID input[type="radio"]:checked').length > 1 ? '#ff0' : '';
});

答案 2 :(得分:0)

或者试试这个,以防您想要通过一些额外功能扩展功能。

http://jsfiddle.net/kasperoo/SharD/

 $(document).ready(function () {
     var context = $('#form_container'),
         checkboxes = 0;

         context.find('.chbx').change(function () {
             $(this).is(':checked') ? checkboxes++ : checkboxes--;
             if (checkboxes > 1) {
                 context.find('p').text('You have selected ' + checkboxes + ' checkboxes.');
             } else {
                 context.find('p').text('');
             }
     });
 });