关于javascript:检查是否选中了复选框?

checking if a checkbox is checked?

本问题已经有最佳答案,请猛点这里访问。

如何通过jquery检查复选框?

我可以向元素添加一个ID或类,然后这样做吗?

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

1
2
3
4
5
if($('#element').is(':checked')){

    //checkbox is checked

}

1
2
3
4
5
if($('#element:checked').length > 0){

    //checkbox is checked

}

或在jquery 1.6+中:

1
2
3
4
5
if($('#element:checked').prop('checked') === true){

    //checkbox is checked

}

这取决于你想在哪里做这件事。一般来说,你可以做到:

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

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

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

或者不支持prop的jquery的旧版本(<1.6),attr用于完成prop的工作,也用于设置/重置元素的属性(如选中、选中、禁用等独立属性);

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

如果它是在复选框的上下文中,如果在change事件中,您可以这样做:

1
  this.checked


使用元素的ID或类是一种很好的方法,但是由于我们使用的是jquery,所以您可以使用它们的API,下面是解决方案:

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

您也可以使用#element而不是input[type="checkbox"]'

这样,您就可以知道复选框是选中的。