2014-02-20 26 views
0

我試過搜索網站,但我真的很努力地找到我想要的...基本上我有一些jQuery代碼,檢查三個ID的狀態,他們被綁在三複選框;在一個單一的jQuery語句處理多個ID

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

我將如何重構此jQuery語句,使所有三個複選框必須被檢查?目前,任何一個可以檢查的行動進行

我敢打賭,有一個非常簡單的解決方案,所有這一切,但我一直在它看到這麼長時間,我不能看見。能否有人擁有一雙清新的眼睛和一顆不那麼難受的大腦,請引導我走向正確的方向?

+0

費利克斯固定它。感謝matey,這裏的工作代碼的FIDDLE可能需要它的任何人;)[JSFiddle](http://jsfiddle.net/takuhii/5zndt/) – Takuhii

+0

請檢查此:http://jsfiddle.net/mahavir4dev/Z93Y5 /這將適用於任何數量的複選框。 – Mahavir

+0

非常感謝我的朋友,這是非常有益的;) – Takuhii

回答

1

您需要使用:

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

王牌!你先生是個傳奇人物。原諒我的愚蠢,但是&&是什麼意思? – Takuhii

+1

@Daren'&&'javascript中的意思是'邏輯AND'。你可以閱讀更多關於邏輯運算符[這裏](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators)。很高興幫助:) – Felix

0

使用

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

$("#cb1,#cb2,#cb3").is(':checked')將返回結果的第一個元素只

0

嘗試:

$('#submitButton').click(function(){ 
    if($("#cb1:checked,#cb2:checked,#cb3:checked").length === 3) 
     return true; 
    else 
     return false; 
}); 
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 
} 
0

你可以嘗試:

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

你可以只添加一個類的複選框,並使用像這樣:

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

下面是實施例的jsfiddle:

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