JQuery Проверьте, если флажок установлен - PullRequest
12 голосов
/ 23 декабря 2011

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

Спасибо!

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

Ответы [ 2 ]

20 голосов
/ 23 декабря 2011

Пара вещей:

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

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

Код:

    if(mcCbxCheck.is(':checked')) {
        alert('checked');
        return true;
    }
1 голос
/ 23 декабря 2011

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

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

   // Do whatever you want
});

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...