在单个jQuery语句中处理多个ID

时间:2014-02-20 14:06:35

标签: javascript jquery

我试过搜索网站,但我真的很难找到我想要的东西......基本上我有一些jQuery代码可以检查三个ID的状态,它们与三个复选框相关联;

$('#submitButton').click(function(){
    if($("#cb1,#cb2,#cb3").is(':checked'))
        return true;
    else
        return false;
});

我如何重构这个jQuery语句以使所有三个复选框都必须被CHECKED?目前,任何一方都可以检查要执行的操作

我认为所有这一切都有一个非常简单的解决方案,但是我已经长时间盯着它,我只是看不到它。有人带着一双新鲜的眼睛和一个不那么顽固的大脑,能引导我朝着正确的方向前进吗?

6 个答案:

答案 0 :(得分:1)

您需要使用:

$('#submitButton').click(function(){
    if ($('#cb1').is(':checked') && $('#cb1').is(':checked') && $('#cb3').is(':checked')) {
        return true;
    } else {
        return false;
    }
});

答案 1 :(得分:0)

使用

if($("#cb1").is(':checked') && $("#cb2").is(':checked') && $("#cb3").is(':checked'))

$("#cb1,#cb2,#cb3").is(':checked')将仅返回第一个元素的结果

答案 2 :(得分:0)

尝试:

$('#submitButton').click(function(){
    if($("#cb1:checked,#cb2:checked,#cb3:checked").length === 3)
        return true;
    else
        return false;
});

答案 3 :(得分:0)

您可以使用:

 if ($('#cb1:checked,#cb2:checked,#cb3:checked').length == 3) {
   //all three are checked.do something
 }

 if ($('#cb1:checked,#cb2:checked,#cb3:checked').length == $('#cb1,#cb2,#cb3').length) {
   //all three are checked.do something
 }

答案 4 :(得分:0)

你可以尝试:

$('#submitButton').click(function(){
    if($('#cb1')[0].checked && $('#cb2')[0].checked && $('#cb3')[0].checked)return true;
    return false;
});

答案 5 :(得分:0)

您可以在复选框中添加一个类,并使用如下:

$('#submitButton').click(function(){
    if($(".myCheckbox:checked").length == 3) {
        console.log('true');
    }
    else {
        console.log('false');
    }
});

这是JSFiddle示例:

http://jsfiddle.net/cLH8s/1/