我很难弄清楚这件事。我有两个复选框(将来会有更多):
checkSurfaceEnvironment-1
checkSurfaceEnvironment-2
基本上,我想要编写一个if语句,并测试其中一个是否被选中,另一个是否被选中。完成以下任务的最简单方法是什么:
if ( $("#checkSurfaceEnvironment-1").attr('checked', true) &&
$("#checkSurfaceEnvironment-2").is('**(NOT??)** :checked') ) {
// do something
}
发布于 2012-07-12 03:39:47
我使用的一种可靠方法是:
if($("#checkSurfaceEnvironment-1").prop('checked') == true){
//do something
}
如果要迭代选中的元素,请使用父元素
$("#parentId").find("checkbox").each(function(){
if ($(this).prop('checked')==true){
//do something
}
});
更多信息:
这很有效,因为所有复选框都有一个选中的属性,用于存储复选框的实际状态。如果您希望检查页面并尝试选中和取消选中复选框,您将注意到“已选中”属性(如果存在)将保持不变。此属性仅表示checkbox的初始状态,而不是当前状态。当前状态存储在该复选框的dom元素的属性checked中。
发布于 2012-11-08 15:11:17
if (!$("#checkSurfaceEnvironment-1").is(":checked")) {
// do something if the checkbox is NOT checked
}
发布于 2013-09-27 00:18:50
您还可以使用jQuery 方法或选择器:
if ($('#checkSurfaceEnvironment').not(':checked').length) {
// do stuff for not selected
}
补充说明
来自:not()
选择器的jQuery API文档。
与将复杂的选择器或变量推入:
()选择器过滤器相比,.not()方法最终将为您提供更具可读性的选择。在大多数情况下,这是一个更好的选择。
https://stackoverflow.com/questions/11440128
复制相似问题