webentwicklung-frage-antwort-db.com.de

JQuery Check, wenn Checkbox Checked ist

Ich möchte herausfinden, wie man etwas wie das Folgende schreibt, um einzelne Kontrollkästchen zu validieren. Es kann nur ein Formular oder mehrere separate Formulare geben. Das folgende Beispiel funktioniert nicht.

Vielen Dank!

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

Ein paar Dinge:

  1. Jedes zutreffende Kontrollkästchen muss die Klasse mcCbxRequired haben. Wenn keine der beiden Warnungen angezeigt wird, muss das Problem darin bestehen, dass Ihr Kontrollkästchen diese Klasse nicht enthält.

  2. Sie sind in beiden Fällen returning false. Das ist bei der Validierung nicht wirklich sinnvoll, daher sollten Sie den relevanten Teil Ihres Codes folgendermaßen ändern:

Code:

    if(mcCbxCheck.is(':checked')) {
        alert('checked');
        return true;
    }
20
Devin Burke

Sie können verwenden:

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

   // Do whatever you want
});

Außerdem sind JQuery-Selektoren nach Klasse langsamer als nach ID/Typ.

1
Varun Goel