Ich kann sehen, ob ein einzelnes Kontrollkästchen aktiviert ist oder nicht.
Aber Im Probleme mit der folgenden - gegeben eine Form id Ich muss sehen , ob jede der Kontrollkästchen ausgewählt werden (dh 1 oder mehr), und ich brauche , um zu sehen , wenn keine ausgewählt sind. Grundsätzlich brauche ich zwei separate Funktionen, die diese beiden Fragen beantworten. Hilfe wäre dankbar. Vielen Dank!
Eigentlich würde ich nur eine Funktion brauchen, um mir zu sagen, ob keine ausgewählt sind. Das zu wissen würde die andere Frage beantworten.
javascript
jquery
forms
bba
quelle
quelle
Antworten:
Sie können so etwas verwenden
quelle
$("#formID input:checkbox:checked").length
würde auch hier ausreichenif ($("#formID input:checkbox:checked").length){}
(ohne das>0
) würde ausreichen, weil 0 ein Falsey-Wert ist, siehe james.padolsey.com/javascript/truthy-falsey:checkbox
Selektors:For better performance in modern browsers, use [type="checkbox"]
siehe api.jquery.com/checkbox-selector - dasselbe gilt übrigens für Radiobuttons,use [type="radio"] rather than :radio
api.jquery.com/radio-selectorJQuery testet
.is
alle angegebenen Elemente und gibt true zurück, wenn mindestens eines davon mit dem Selektor übereinstimmt:quelle
is()
scheint zu funktionieren,:checked
direkt im Selektor zu sein, wie in @ rahuls Antwort angegeben, scheint angemessener. is () scheint nützlicher zu sein, wenn "Inside Callbacks", siehe api.jquery.com/is . Oder fehlt mir etwas?.is(":checked")
in Ihrer Lösung ausdrucksstärker ist, aber nicht sicher über den Rest.$("form input[type=checkbox]").is(":checked")
nämlich ein einfacherer und allgemeinerer Ansatz sein.is
möglicherweise eine bessere Leistung, da es beendet wird, sobald es eine findet.Du kannst das:
Wo:
:checkbox
Filterauswahl aktiviert alle Kontrollkästchen.:checked
aktiviert aktivierte Kontrollkästchenlength
gibt dort die Anzahl der markierten anquelle
:checkbox
Selektors:For better performance in modern browsers, use [type="checkbox"]
siehe api.jquery.com/checkbox-selectorDies ist, was ich verwendet habe, um zu überprüfen, ob sich Kontrollkästchen in einer Liste von Kontrollkästchen geändert haben:
quelle
Ohne 'Länge' können Sie dies folgendermaßen tun:
quelle
Sie können eine einfache Rückgabe des
.length
hier machen:Diese Suche nach Kontrollkästchen in der angegebenen Form prüft, ob sie vorhanden sind,
:checked
und gibt zurück,true
ob sie vorhanden sind (da die Länge sonst 0 wäre). Um es ein bisschen klarer zu machen, hier ist die nicht boolesche konvertierte Version:Dies würde eine Zählung der Anzahl der überprüften zurückgeben.
quelle
Rahuls Antwort passt am besten zu Ihrer Frage. Wenn Sie eine Gruppe von Kontrollkästchen aktivieren müssen und nicht alle Kontrollkästchen in Ihrem Formular, können Sie dies tun.
Geben Sie einen Klassennamen für alle Kontrollkästchen ein, die Sie aktivieren möchten, z. B. einen Klassennamen.
test_check
Jetzt können Sie überprüfen, ob eines der Kontrollkästchen der Gruppe aktiviert ist, indem Sie:Wenn es zurückgegeben wird
true
, nehmen Sie an , dass ein oder mehrere Kontrollkästchen mit dem Klassennamen aktiviert sindtest_check
und keines aktiviert ist , wenn zurückgegeben wirdfalse
.Hoffe es hilft jemandem. Vielen Dank :)-
quelle
Dies ist der beste Weg, um dieses Problem zu lösen.
quelle