Check if checkbox is checked or not (js / jquery)

I want to check if a specific checkbox is checked using JavaScript / jQuery.

Here is the code I tried:

var a;
    if ($("#add_desc").checked == 1){
        a = "true";
    }else{
        a= "false";
    }

I also tried:

var a;
    if ($("#add_desc").checked){
        a= "true";
    }else{
        a= "false";
    }

It always returns false as soon as I warn the variable a.

Any idea why this won't work for me? Am I doing it wrong?

Thank!

+3
source share
6 answers

To get the property value checkedon the checkbox tab, use the method .prop()or get the value directly from the DOM element. [0]returns the first selected DOM element.

var a;
if ($("#add_desc")[0].checked){
    a= "true";
}else{
    a= "false";
}

or

var a;
if ($("#add_desc").prop("checked")){
    a= "true";
}else{
    a= "false";
}

Edit
For versions of jQuery older than 1.6, .propdoes not exist, use .attras a direct replacement.

+5

,

var a = $('#element:checkbox').is(':checked');
+6

"jQuery way" .is(":checked"):

var a;
if ($("#add_desc").is(":checked")){ // box is checked
    a = "true";
} else{ // box is not checked
    a= "false";
}

-, .

jQuery .is:

,.is() jQuery . jQuery . , .

+5

ternary javascript jQuery . is ( ) .

var a = ($("#add_desc").is(":checked")) ? "true" : "false";
+4

:

if ($('#add_desc').is(':checked')) {
  a = "true";
} else {
  b = "false";
}

, .. true false "true" "false"

+3

Try

$get("#add_desc").checked == true

$("#add_desc").prop("checked", true);
$("#add_desc").prop("checked", false);
+2

All Articles