I'm having an issue verifying if a checkbox is checked using jquery on Internet Explorer. This is the code I'm using:
if ($('#chkjq_1').attr('checked') == true)
It works fine on Firefox or Chrome, but on Internet Explorer 7, the condition is always false because the browser sets the property this way:
<input id="chkjq_1" type="checkbox" CHECKED/> IE7
And the right way is the following: (Firefox, Chrome):
<input id="chkjq_1" type="checkbox" checked="checked"/> FF, Chrome, etc
What should I do to avoid this issue on Internet Explorer 7; is there a generic way in jquery to solve this?
Thanks in advance.
Try this:
if ($('#chkjq_1').is(':checked'))
{
// more code
}
The only thing I could get to work consistently was to test like this:
if ($('#chkjq_1').is('[CHECKED]'))
Using all caps on the selector like IE renders it when you open Developer Tools. Works across browsers so far as I can tell. .is(':checked') wouldn't match for me (using JQuery 1.7.1). Tested using IE 7 and IE 8 in multiple modes. Other browsers (Firefox, Safari tested) seem not to care.
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