首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery:未选中复选框时进行测试

jQuery:未选中复选框时进行测试
EN

Stack Overflow用户
提问于 2012-07-12 03:37:06
回答 18查看 571K关注 0票数 129

我很难弄清楚这件事。我有两个复选框(将来会有更多):

  • checkSurfaceEnvironment-1
  • checkSurfaceEnvironment-2

基本上,我想要编写一个if语句,并测试其中一个是否被选中,另一个是否被选中。完成以下任务的最简单方法是什么:

代码语言:javascript
复制
if ( $("#checkSurfaceEnvironment-1").attr('checked', true) &&
     $("#checkSurfaceEnvironment-2").is('**(NOT??)** :checked') ) {
        // do something
}
EN

回答 18

Stack Overflow用户

回答已采纳

发布于 2012-07-12 03:39:47

我使用的一种可靠方法是:

代码语言:javascript
复制
if($("#checkSurfaceEnvironment-1").prop('checked') == true){
    //do something
}

如果要迭代选中的元素,请使用父元素

代码语言:javascript
复制
$("#parentId").find("checkbox").each(function(){
    if ($(this).prop('checked')==true){ 
        //do something
    }
});

更多信息:

这很有效,因为所有复选框都有一个选中的属性,用于存储复选框的实际状态。如果您希望检查页面并尝试选中和取消选中复选框,您将注意到“已选中”属性(如果存在)将保持不变。此属性仅表示checkbox的初始状态,而不是当前状态。当前状态存储在该复选框的dom元素的属性checked中。

请参阅Properties and Attributes in HTML

票数 238
EN

Stack Overflow用户

发布于 2012-11-08 15:11:17

代码语言:javascript
复制
if (!$("#checkSurfaceEnvironment-1").is(":checked")) {
    // do something if the checkbox is NOT checked
}
票数 85
EN

Stack Overflow用户

发布于 2013-09-27 00:18:50

您还可以使用jQuery 方法或选择器:

代码语言:javascript
复制
if ($('#checkSurfaceEnvironment').not(':checked').length) {
    // do stuff for not selected
}

JSFiddle Example

补充说明

来自:not()选择器的jQuery API文档。

与将复杂的选择器或变量推入

()选择器过滤器相比,.not()方法最终将为您提供更具可读性的选择。在大多数情况下,这是一个更好的选择。

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11440128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档