Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jquery checked checkbox IE problem

Tags:

jquery

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.

like image 486
lidermin Avatar asked Nov 29 '22 18:11

lidermin


2 Answers

Try this:

if ($('#chkjq_1').is(':checked'))
{
  // more code
}
like image 109
Sarfraz Avatar answered Dec 10 '22 23:12

Sarfraz


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.

like image 21
S. Rooks Avatar answered Dec 10 '22 21:12

S. Rooks