708 Stimmen

Wert des Kontrollkästchens in jQuery abrufen

Wie kann ich den Wert einer Checkbox in jQuery erhalten?

1354voto

Sarfraz Punkte 366217

Um den Wert des Attributs "Value" zu ermitteln, können Sie etwa so vorgehen:

$("input[type='checkbox']").val();

Oder wenn Sie eine class ou id können Sie das:

$('#check_id').val();
$('.check_class').val();

Dies liefert jedoch die dieselbe Dies kann verwirrend sein, da es sich von dem Verhalten bei der Übermittlung des Formulars unterscheidet.

Um zu überprüfen, ob sie angekreuzt ist oder nicht, tun Sie dies:

if ($('#check_id').is(":checked"))
{
  // it is checked
}

186 Stimmen

Wenn ich versuche $($0).val() in Chrome und deaktivieren Sie das Kontrollkästchen, lautet die Antwort "ein", obwohl es nicht aktiviert ist. Aber $($0).is(":checked") gibt den richtigen Wert zurück.

0 Stimmen

Hochgestuft falsche Antwort . in der Tat erkennen seine on immer ein bisschen später

6 Stimmen

Tut mir leid, aber diese Antwort hat buchstäblich etwa 1 Stunde meiner Zeit vergeudet. Alle Kontrollkästchen sind "an", wenn man .val(); Ich empfehle dringend die Verwendung von .is(":checked") an alle, die dies lesen!

293voto

Alain Tiemblo Punkte 34390

Diese 2 Wege funktionieren:

68voto

RDK Punkte 4523

Versuchen Sie diese kleine Lösung:

$("#some_id").attr("checked") ? 1 : 0;

oder

$("#some_id").attr("checked") || 0;

0 Stimmen

Oder !!($("#some_id").attr("checked"))

56voto

Reza Punkte 625

Der beste Weg, den Wert eines Kontrollkästchens abzurufen, ist der folgende

if ( elem.checked ) 
if ( $( elem ).prop( "checked" ) ) 
if ( $( elem ).is( ":checked" ) ) 

wie in den offiziellen Dokumentationen auf der jQuery-Website erläutert. Der Rest der Methoden hat nichts mit dem Eigenschaft des Kontrollkästchens prüfen sie das Attribut, d. h. sie testen den Ausgangszustand des Kontrollkästchens, als es geladen wurde. Kurz und gut:

  • Wenn Sie das Element haben und wissen, dass es sich um ein Kontrollkästchen handelt, können Sie einfach dessen Eigenschaft auslesen und brauchen dafür kein jQuery (d.h. elem.checked ) oder Sie können verwenden $(elem).prop("checked") wenn Sie sich auf jQuery verlassen wollen.
  • Wenn Sie den Wert wissen (oder vergleichen) müssen, den das Element beim ersten Laden hatte (d. h. den Standardwert), lautet die korrekte Vorgehensweise elem.getAttribute("checked") ou elem.prop("defaultChecked") .

Bitte beachten Sie, dass elem.attr("checked") wird erst ab Version 1.6.1+ von jQuery geändert, um das gleiche Ergebnis wie elem.prop("checked") .

Einige Antworten sind irreführend oder ungenau. Bitte überprüfen Sie die Angaben selbst:

http://api.jquery.com/prop/

1 Stimmen

.is(":checked") et .prop(":checked") funktionieren auch bei mir mit jQuery 1.10.0

0 Stimmen

@Josh, du hast Recht, danke! Ich habe die Antwort aktualisiert, um sie für zukünftige Leser zu verdeutlichen.

29voto

Greg A Punkte 501

Nur um die Dinge zu klären:

$('#checkbox_ID').is(":checked")

Wird 'true' oder 'false' zurückgeben

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X