jQuery receiving checkbox status
17,890
Solution 1
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.
Solution 2
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
Author by
Yekver
Updated on June 11, 2022Comments
-
Yekver almost 2 years
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?