2009-11-03 3 views
0

Я перебираю несколько флажков с тем же классом с функцией each() и внутри цикла. Мне нужно выяснить, установлен ли флажок или нет. Как это сделать?Проверяется флажок (внутри каждого цикла)?

$('.checkbox').each(function() { 
    var is_checked = 'no'; 
    // I need to change the value of the is_checked variable to 'yes' 
    // if the checkbox is checked 
    // 
}); 

ответ

5

Использование

var is_checked = this.checked ? 'yes' : 'no'; 
4

Один из способов:

$('#yourcheckbox').is(':checked'); 
+0

Это правда, но труднее читать и медленнее, чем просто сказать «this.checked». Вам не нужно использовать синтаксис jQuery для всего, что вы делаете, DOM все еще существует. – bobince

+0

Абсолютно, я пытался сохранить его в коде jquery, который у него уже есть, но вы правы this.checked, вероятно, быстрее и проще. –

3

Почему бы не использовать селектор :checkbox:checked вместо этого? Таким образом, вы получаете список всех отмеченных флажков и перебираете их.

1

Это позволит получить все непроверенные коробки

$("input:not(:checked)") 
1

Я считаю, что $(this).val() даст вам "истинный", если проверено, а затем $(this).val("true") установит значение

2
$("input:checkbox[class='.checkbox']:checked").each(function() { 
// this will only loop thru checked boxes (checked = true) 
} 

ИЛИ

$('.checkbox').each(function() {  
// or return a boolean for each one 
var is_checked = $(this).is(":checked"); 
}); 
Смежные вопросы