13

How can I check if a checkbox is checked via jQuery?

Can I just add an ID or class to the element and do this?

if($('#element').val() == 1) { 
  //do stuff 
}
0

3 Answers 3

5
if($('#element').is(':checked')){

    //checkbox is checked

}

or

if($('#element:checked').length > 0){

    //checkbox is checked

}

or in jQuery 1.6+:

if($('#element:checked').prop('checked') === true){

    //checkbox is checked

}
Sign up to request clarification or add additional context in comments.

Comments

4

It depends on where you are trying to do this. Generally you can do:

$('#element').is(':checked');

or

$('#element')[0].checked;

or

 $('#element').prop('checked'); 

or older version of jquery ( < 1.6) that doesn't support prop, attr used to do the job of prop as well to set/reset properties of element (Incase of standalone attributes like checked, selected, disabled etc...);

 $('#element').attr('checked') //will return boolean value

If it is in the context of the checkbox like, if in a change event you can just do:

  this.checked

4 Comments

@user2864740 Not really see the comment and the statement before that. For your proof test it against older version of jquery <=1.5 or so
@user2864740 Sorry, really sleepy. :P Either way, yeah, in jQuery < 1.6, there was no .prop() so .attr() did retrieve DOM properties back then.
Also older version of jq that doesn't support prop used to make up for setting property for standalone attributes.
@user2864740 Here you go one with version 1.5 jsfiddle.net/tgY2Y
0

Using element's id or class is a good way of doing all this, but since we're using jQuery, you might use their API and here is the solution:

$('input[type="checkbox"]').is(':checked') {
  // do the stuff here..
}

You can also use #element instead of the input[type="checkbox"]'.

This way, you can get to know that the checkbox is checked.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.