-1

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

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

如果至少选择了 2 个复选框,我不知道我们应该如何评估。请问有什么帮助吗?

4

3 回答 3

1

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

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

   // do stuff

}
于 2013-09-25T22:19:40.253 回答
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('');
             }
     });
 });
于 2013-09-25T22:44:44.930 回答
0

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

$('#circle_2').css('background-color', function(){
    return $('#ancestorElementID input[type="radio"]:checked').length > 1 ? '#ff0' : '';
});
于 2013-09-25T22:20:24.410 回答