卡在检查两个复选框中的任何一个是否被选中

Stuck in checking if any of the two check boxes are selected

本文关键字:任何一 是否 复选框 两个 检查      更新时间:2023-09-26

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

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

我不知道我们应该如何评估是否至少选中了 2 个复选框。请对此提供任何帮助吗?

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

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

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

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

或者试试这个,如果你想用一些额外的功能来扩展功能。

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('');
             }
     });
 });