2011-12-23 3 views
12

. Я хотел бы выяснить, как написать что-то вроде следующего, чтобы проверить отдельные флажки. В форме может быть только один или несколько отдельных. Пример ниже не работает.JQuery Проверьте, установлен ли флажок

Спасибо!

// ----------------------------------------------- 
// CHECK SINGLE CHECKBOX 
// ----------------------------------------------- 
$('.mcCbxRequired').each(function() { 
    var mcCbxCheck = $(this); 
    if(mcCbxCheck.is(':checked')) { 
     alert('checked'); 
     // do something here ... 
    } 
    else{ 
     alert('not checked'); 
     return false; 
    } 
}); 
+0

Когда вы говорите, что пример «не работает», он показывает «предупреждение»? –

+0

Привет, Нет, ничего не происходит. – user582065

+0

О, извините, это работает. Мне пришлось обновить браузер. – user582065

ответ

20

Пара вещей:

  1. Каждый применимый флажок должен иметь mcCbxRequired класс. Если ни одно предупреждение не отображается, проблема должна быть связана с тем, что ваш флажок не имеет этого класса.

  2. В обоих случаях вы являетесь return ing false. Это на самом деле не имеет смысла с проверкой, так что вы должны изменить соответствующую часть кода для этого:

Код:

if(mcCbxCheck.is(':checked')) { 
     alert('checked'); 
     return true; 
    } 
+0

@ user582065 только что отредактировал свой пост прямо перед тем, как я его отредактировал. Тем не менее все равно должна иметь строку «return true;». – Edwin

+0

Да, я понимаю, что я набрал это неправильно. Извините за путаницу. – user582065

1

Вы можете использовать:

$('input[type=checkbox]:checked').each(function() 
{ 
    var checkedBox = $(this); 

    // Do whatever you want 
}); 

Кроме того, селектора JQuery по классам медленнее, чем по типу id /.

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