Wie setze ich alle Kontrollkästchen mit jQuery oder reinem JS zurück?


Antworten:


143

Wenn Sie meinen, wie Sie den Status "Aktiviert" aus allen Kontrollkästchen entfernen:

$('input:checkbox').removeAttr('checked');

Dieses Skript schaltet den Status der Kontrollkästchen um. Ich bin mir nicht sicher, ob ich etwas falsch mache
Sundeep

37
Beachten Sie, dass Sie in jQuery v1.6 und höher stattdessen .prop ('geprüft', falsch) verwenden sollten, um eine bessere browserübergreifende Kompatibilität zu erreichen - siehe api.jquery.com/prop
Henry C

Ich habe dies verwendet, um das Formular zurückzusetzen, bevor ich einen neuen Dialog öffnete. Danach muss ich ein Kontrollkästchen aktivieren und das funktioniert nicht. Wenn ich mir den generierten Code ansehe, ist er 'markiert', aber auf meiner Seite ist er nicht $ ('Eingabe: Kontrollkästchen'). RemoveAttr ('geprüft'); $ ('input [value =' + val + ']'). attr ('geprüft', wahr);
Gayane

1
Dies ist nun eine veraltete Antwort - siehe: stackoverflow.com/questions/17420534/...
raison

47

Wenn Sie die Rücksetzfunktion des Formulars verwenden möchten, sollten Sie Folgendes verwenden:

$('input[type=checkbox]').prop('checked',true); 

ODER

$('input[type=checkbox]').prop('checked',false);

Sieht aus wie removeAttr()kann nicht von zurückgesetzt werden form.reset().


1
Obwohl die akzeptierte Antwort auch funktioniert, finde ich dies der beste Weg, dies zu tun. Bitte, wenn Sie dies lesen, ziehen Sie in Betracht, diesen Weg zu verwenden, da dies die beste Vorgehensweise ist.
Rafaelmorais

13

Die obige Antwort hat bei mir nicht funktioniert -

Folgendes hat funktioniert

$('input[type=checkbox]').each(function() 
{ 
        this.checked = false; 
}); 

Dadurch wird sichergestellt, dass alle Kontrollkästchen deaktiviert sind.


11

In einigen Fällen ist das Kontrollkästchen standardmäßig aktiviert. Wenn Sie die Standardauswahl wiederherstellen möchten, anstatt sie als nicht ausgewählt festzulegen, vergleichen Sie die defaultCheckedEigenschaft.

$(':checkbox').each(function(i,item){ 
        this.checked = item.defaultChecked; 
}); 



4
 $(":checkbox:checked").each(function () {

 this.click(); 
});

Um das Kontrollkästchen zu deaktivieren, drehen Sie Ihre Logik um, um das Gegenteil zu tun


3

Sie können auswählen, für welchen Teil oder Teil Ihrer Seite Kontrollkästchen aktiviert werden sollen und für welche nicht. Ich bin auf das Szenario gestoßen, in dem ich zwei Formulare auf meiner Seite habe und eines vorab ausgefüllte Werte (zur Aktualisierung) hat und das andere neu ausgefüllt werden muss.

$('#newFormId input[type=checkbox]').attr('checked',false);

Dadurch werden nur Kontrollkästchen im Formular mit der deaktivierten ID newFormId aktiviert.


2

Wie in Tatu Ulmanens Antwort mit dem folgenden Skript erwähnt, wird dies den Job erledigen

$('input:checkbox').removeAttr('checked');

Aber, wie Blakomens Kommentar sagte, ist es nach Version 1.6 besser, jQuery.prop()stattdessen zu verwenden

Beachten Sie, dass Sie in jQuery v1.6 und höher stattdessen .prop ('geprüft', falsch) verwenden sollten, um eine bessere browserübergreifende Kompatibilität zu erreichen

$('input:checkbox').prop('checked', false);

Seien Sie vorsichtig, wenn Sie jQuery.each()es verwenden, da dies zu Leistungsproblemen führen kann. (Vermeiden Sie jQuery.find()in diesem Fall auch. Verwenden Sie stattdessen alle)

$('input[type=checkbox]').each(function() 
{ 
    $(this).prop('checked', false); 
});

1

Ich habe so etwas benutzt

$(yourSelector).find('input:checkbox').removeAttr('checked');

1
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container check">
<button class="btn">click</button>
  <input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
<input type="checkbox" name="vehicle" value="Car">I have a car<br>
<input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
<input type="checkbox" name="vehicle" value="Car">I have a car<br>
</div>
<script>
$('.btn').click(function() {

$('input[type=checkbox]').each(function() 
{ 
        this.checked = false; 
}); 
})
</script>
</body>
</html>

3
Nur-Code-Antworten werden nicht empfohlen. Sie möchten wirklich einige Erklärungen hinzufügen.
GhostCat
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.