4

When I click on Problem, both check boxes must select/deselect. I want to select and deselect check boxes for multiple time. It works only for selecting and then deselecting (2 times) and then is not working any more.

check boxes

My code:

 $(document).ready(function() {
        $('#CHECK-ALL').click(function() {
            if ($(this).is(':checked')) {
                $('#P').attr('checked',true);                
            } else {
                $('#P').attr('checked',false);                
            }
        });
    });
Peter B
  • 22,460
  • 5
  • 32
  • 69
ZeroZek
  • 319
  • 1
  • 5
  • 19

1 Answers1

15

You're using the wrong method, you should be using prop

$(document).ready(function() {
    $('#CHECK-ALL').click(function() {
        if ($(this).is(':checked')) {
            $('#P').prop('checked',true);                
        } else {
            $('#P').prop('checked',false);                
        }
    });
});

Your code could be reduced to

$('#CHECK-ALL').click(function() {
    $('#P').prop('checked', this.checked);                
});

When you set the attribute, it works fine, but it doesn't change the property, so the next time you check $(this).is(':checked') it's still unchecked, as that checks the property, not the attribute, which is why it's not working.

adeneo
  • 312,895
  • 29
  • 395
  • 388