I'm changing checkbox status this way: $(this).attr("checked", 'checked');
After this I want to receive checkbox status, but I got this:
$(this).attr('checked'): "checked"
$(this).is(':checked'): false
How this can be?
P.S. Maybe I'm not correctly changing checkbox status via jQuery?
The proper way is $(this).prop('checked')
to return the boolean property instead of the attribute (which is a a string).
Using .prop()
you can also set the checked state: $(this).prop('checked', true_or_false);
As you can see on http://jsfiddle.net/ThiefMaster/QR2fL/, .attr('checked')
returns the initial value of the attribute - it does not changed when checking/unchecking the checkbox.
You should not check the checkbox like this:
$(this).attr("checked", 'checked');
but like this
$(this).prop("checked", true);
To check if a checkbox is checked you can use:
$(this).prop('checked');
or
$(this).is(':checked');
which return a boolean proerty
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With