2014-02-20 3 views
0

Я пробовал искать сайт, но я действительно пытаюсь найти то, что хочу ... В основном у меня есть код jQuery, который проверяет состояние трех идентификаторов, они привязаны к трем флажки;Обработка нескольких идентификаторов в одном выражении jQuery

$('#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

Ace !! Вы, сэр, легенда. Простите мою глупость, но что означает &&? – Takuhii

+1

@Daren '&&' в javascript означает 'Logical 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') будет возвращать результат для 1-го элемента только

0

Try:

$('#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/

Смежные вопросы