Eine spezifischere (und sehr nützliche!) Frage: "Wie überprüfe ich ein Element in einem Kontrollkästchen nach Wert?", Denke ich, können wir auch hier diskutieren, und ich habe unten eine Antwort gepostet.
Wenn Sie nur mit einem Element arbeiten, können Sie jederzeit auf das zugrunde liegende Element zugreifen HTMLInputElementund dessen .checkedEigenschaft ändern :
Beachten Sie, dass dies der Ansatz ist, der von jQuerys Komponententests vor Version 1.6 verwendet wird und der Verwendung vorzuziehen ist, $('.myCheckbox').removeAttr('checked');da letzterer, wenn das Kontrollkästchen ursprünglich aktiviert wurde, das Verhalten eines Aufrufs in einem .reset()beliebigen Formular ändert , das ihn enthält - ein subtiler, aber wahrscheinlich unerwünschte Verhaltensänderung.
Weitere checkedInformationen zu den Änderungen an der Behandlung des Attributs / der Eigenschaft beim Übergang von 1.5.x zu 1.6 finden Sie in den Versionshinweisen zu Version 1.6 und im Abschnitt Attribute vs. Eigenschaften der .prop()Dokumentation .
@Xian das Entfernen des geprüften Attributs macht es unmöglich, das Formular zurückzusetzen
mcgrailm
6
Als Randnotiz sollte jQuery 1.6.1 das von mir erwähnte Problem beheben, damit wir praktisch immer noch $ (...) verwenden können. Prop (...)
cwharris
19
"Wenn Sie nur mit einem Element arbeiten, ist es immer am schnellsten zu verwenden. DOMElement.checked = true" Aber es wäre vernachlässigbar, weil es nur ein Element ist ...
Tyler Crompton
46
Wie Tyler sagt, ist es eine vernachlässigbare Verbesserung der Leistung. Für mich ist das Codieren mit einer gemeinsamen API lesbarer als das Mischen von nativen API- und jQuery-APIs. Ich würde bei jQuery bleiben.
Charlie Kilian
18
@ TylerCrompton - Natürlich geht es nicht nur um Leistung, aber das Tun $(element).prop('checked')ist eine völlige Verschwendung von Eingabe. element.checkedexistiert und sollte in den Fällen verwendet werden, in denen Sie bereits habenelement
Ich habe genau diesen Code ausprobiert und es hat bei mir nicht funktioniert, wenn das Kontrollkästchen Alle auswählen / Keine auswählen aktiviert ist, bei dem alle Elemente aktiviert und deaktiviert sowie ihr Status überprüft werden müssen. Stattdessen habe ich die Antwort von @Christopher Harris ausprobiert und das hat den Trick getan.
JD Smith
Warum "form #mycheckbox" anstelle von "#mycheckbox" verwenden? Die ID ist bereits im gesamten Dokument eindeutig. Sie kann schneller und einfacher direkt ausgewählt werden.
YuriAlbuquerque
@ YuriAlbuquerque war es ein Beispiel. Sie können jeden gewünschten Selektor verwenden.
Bchhun
5
$ (Selektor) .checked funktioniert nicht. In jQuery gibt es keine 'geprüfte' Methode.
Brendan Byrd
318
Dies ist die richtige Art und Weise zu kontrollieren und Kontrollkästchen mit jQuery unchecking, wie es Cross-Plattform - Standard ist, und wird Form reposts ermöglichen.
Auf diese Weise verwenden Sie JavaScript-Standards zum Aktivieren und Deaktivieren von Kontrollkästchen, sodass jeder Browser, der die Eigenschaft "checked" des Checkbox-Elements ordnungsgemäß implementiert, diesen Code fehlerfrei ausführt. Dies sollten alle gängigen Browser sein, aber ich kann vor Internet Explorer 9 keine Tests durchführen.
Das Problem (jQuery 1.6):
Sobald ein Benutzer auf ein Kontrollkästchen klickt, reagiert dieses Kontrollkästchen nicht mehr auf die "aktivierten" Attributänderungen.
Hier ist ein Beispiel für das Kontrollkästchenattribut, das den Job nicht ausführt, nachdem jemand auf das Kontrollkästchen geklickt hat (dies geschieht in Chrome).
Durch die Verwendung der "geprüften" Eigenschaft von JavaScript für die DOM- Elemente können wir das Problem direkt lösen, anstatt zu versuchen, das DOM so zu manipulieren, dass es das tut, was wir wollen .
Dieses Plugin ändert die überprüfte Eigenschaft aller von jQuery ausgewählten Elemente und aktiviert und deaktiviert die Kontrollkästchen unter allen Umständen erfolgreich. Dies scheint zwar eine übermäßige Lösung zu sein, verbessert jedoch die Benutzererfahrung Ihrer Website und hilft, Frustrationen der Benutzer zu vermeiden.
(function( $ ){
$.fn.checked =function(value){if(value ===true|| value ===false){// Set the value of the checkbox
$(this).each(function(){this.checked = value;});}elseif(value ===undefined|| value ==='toggle'){// Toggle the checkbox
$(this).each(function(){this.checked =!this.checked;});}returnthis;};})( jQuery );
Wenn Sie kein Plugin verwenden möchten, können Sie alternativ die folgenden Codefragmente verwenden:
In Ihrem ersten JSFiddle-Beispiel sollten Sie removeAttr('checked')eher alsattr('checked', false)
Daniel X Moore
4
@ DanielXMoore, Sie umgehen das Problem. Das Beispiel sollte zeigen, dass der Browser nach checkeddem Klicken auf das Kontrollkästchen durch den Benutzer nicht mehr auf Attributänderungen reagiert , unabhängig von der Methode, mit der sie geändert wurden.
Cwharris
3
@ChristopherHarris Ok, du hast recht, das habe ich verpasst. Ab jQuery 1.6 sollten Sie die .prop-Methode jedoch nicht verwenden? $('.myCheckBox').prop('checked', true)Auf diese Weise wird es automatisch auf den gesamten Satz übereinstimmender Elemente angewendet (nur beim Einstellen ist das Erhalten immer noch das erste)
Daniel X Moore
Ja. propist definitiv die geeignete Methode, um Attribute für ein Element festzulegen.
Cwharris
@ChristopherHarris, ich habe dem Plugin hinzugefügt, was ich brauchte, um eine gewisse Parameterflexibilität zu ermöglichen. Dies erleichterte die Inline-Verarbeitung ohne die Typkonvertierung. Vor allem aus unterschiedlichen Datenbanken mit "Ideen" darüber, was "wahr" ist. Geige: jsfiddle.net/Cyberjetx/vcp96
Oder Sie möchten ihnen eindeutigere Namen wie mycheck () und myuncheck () geben, falls Sie eine andere Bibliothek verwenden, die diese Namen verwendet.
Der letzte löst das Klickereignis für das Kontrollkästchen aus, die anderen nicht. Wenn Sie also im onclick-Ereignis benutzerdefinierten Code für das Kontrollkästchen haben, das Sie auslösen möchten, verwenden Sie den letzten.
Das ist ungenau. Wenn Sie das Attribut 'checked' auf '' setzen, werden die Kontrollkästchen in mindestens Chrome nicht deaktiviert.
Cwharris
@xixonia Ich habe getestet, bevor ich Ihre Geige gepostet habe, funktioniert nicht, weil Sie das Menü auf der linken Seite nicht geändert haben, um jquery
mcgrailm
1
mcgralim - in 1.6 ist es noch einfacher .... $(".mycheckbox").prop("checked", true/false)
Gnarf
2
@ MarkAmery Sie haben erwähnt, dass mein Beitrag zum Zeitpunkt des Beitrags nichts hinzugefügt hat, aber das ist korrekt. Wenn Sie sich den Verlauf der akzeptierten Antwort ansehen, werden Sie feststellen, dass sie vorschlagen, das Element zu entfernen. Das macht es unmöglich, das Formular zurückzusetzen, weshalb ich zuerst gepostet habe.
Mcgrailm
1
@mcgrailm Ich habe die akzeptierte Antwort im Lichte Ihrer Bemerkungen geändert. Wenn Sie ein Auge darauf werfen und prüfen möchten, ob es in seinem aktuellen Zustand gut aussieht, würde ich das begrüßen. Ich entschuldige mich noch einmal dafür, dass ich scharfe Kritik geäußert habe, die zumindest teilweise sehr fehlgeleitet war.
Mark Amery
51
Dadurch werden Elemente ausgewählt, die das angegebene Attribut mit einem Wert haben, der den angegebenen Teilstring "ckbItem" enthält:
$('input[name *= ckbItem]').prop('checked',true);
Es werden alle Elemente ausgewählt, deren Namensattribut ckbItem enthält.
Denken Sie daran, dass in einem typischen Kontrollkästchensatz alle Eingabe-Tags denselben Namen haben und sich durch das Attribut unterscheidenvalue : Für jede Eingabe des Satzes gibt es keine ID.
Die Antwort von Xian kann mit der folgenden Codezeile um einen spezifischeren Selektor erweitert werden:
Dies beantwortet die Frage nicht (bei der Frage geht es darum, festzulegen, ob ein Kontrollkästchen aktiviert ist, und nicht zu bestimmen, ob ein Kontrollkästchen aktiviert ist). Es ist auch eine ziemlich hässliche Methode, um festzustellen, ob das Kontrollkästchen aktiviert ist (zum einen nutzen Sie die nicht selbstverständliche Tatsache, .val()die undefinedbeim Aufruf von 0 Elementen immer zurückkehrt , um zu erkennen, dass ein jQuery-Objekt leer ist, wenn Sie könnten Überprüfen Sie .lengthstattdessen einfach ) - siehe stackoverflow.com/questions/901712/… für besser lesbare Ansätze.
Mark Amery
42
Um ein Kontrollkästchen mit jQuery 1.6 oder höher zu aktivieren, gehen Sie wie folgt vor :
checkbox.prop('checked',true);
Verwenden Sie zum Deaktivieren:
checkbox.prop('checked',false);
Folgendes möchte ich verwenden, um ein Kontrollkästchen mit jQuery umzuschalten:
Diese Antwort ist veraltet, da sie .attranstelle von verwendet wird .prop.
Blazemonger
25
Wenn Sie PhoneGap für die Anwendungsentwicklung verwenden und einen Wert auf der Schaltfläche haben, den Sie sofort anzeigen möchten, denken Sie daran, dies zu tun
$("#check").on("click",function(){var chk = document.getElementById('check').checked;var arr = document.getElementsByTagName("input");if(chk){for(var i in arr){if(arr[i].name =='check') arr[i].checked =true;}}else{for(var i in arr){if(arr[i].name =='check') arr[i].checked =false;}}});
- 1; Das Mischen von jQuery-Selektoren wie $("#check")mit rohen DOM-API-Aufrufen document.getElementsByTagName("input")scheint mir unelegant zu sein, insbesondere angesichts der Tatsache, dass die forSchleifen hier durch die Verwendung vermieden werden könnten .prop(). Unabhängig davon ist dies eine weitere späte Antwort, die nichts Neues hinzufügt.
Mark Amery
20
Eine andere mögliche Lösung:
var c = $("#checkboxid");if(c.is(":checked")){
$('#checkboxid').prop('checked',false);}else{
$('#checkboxid').prop('checked',true);}
Wenn Sie Mobile verwenden und möchten, dass die Benutzeroberfläche aktualisiert wird und das Kontrollkästchen als deaktiviert angezeigt wird, verwenden Sie Folgendes:
In Internet Explorer vor Version 9 kann die Verwendung von .prop () zum Festlegen einer DOM-Elementeigenschaft auf einen anderen Wert als einen einfachen Grundwert (Zahl, Zeichenfolge oder Boolescher Wert) zu Speicherverlusten führen, wenn die Eigenschaft nicht entfernt wird (mithilfe von .removeProp () )) bevor das DOM-Element aus dem Dokument entfernt wird. Verwenden Sie .data (), um Werte für DOM-Objekte ohne Speicherverlust sicher festzulegen.
Dies ist irrelevant, da alle (richtigen) Antworten verwendet werden .prop('checked',true).
Blazemonger
Ich bin mir nicht sicher, ob ich Ihren Kommentar verstanden habe. Dieser ist in der jQuery-Dokumentation noch vorhanden. Bedeuten Sie, dass im IE <9 kein Speicherverlust vorliegt?
Naor
2
Es gibt kein Speicherleck in diesem Fall, da wir werden es auf einen einfachen Grundwert (Boolean) einstellen.
- 1, weil es sich um eine reine Code-Antwort handelt, die Frage nicht direkt beantwortet und nichts hinzugefügt hat, was andere Antworten noch nicht behandelt haben.
Mark Amery
15
Dies ist wahrscheinlich die kürzeste und einfachste Lösung:
@MarkAmery Die akzeptierte Antwort behandelt nicht, wie es ohne jQuery geht. Meine Antwort fügt der akzeptierten Antwort einen zusätzlichen Nutzen hinzu.
sollte es nicht sein trueund falseund nicht 'true'und 'false'?
tpower
9
Es hat "nicht funktioniert", weil 'false'es in einen booleschen Wert konvertiert wurde, was dazu führte, dass eine trueleere Zeichenfolge ausgewertet wurde, falsesodass es "funktioniert" hat. Sehen Sie sich diese Geige zum Beispiel an, was ich meine.
Schatten-Assistent ist Ohr für Sie
@ chris97ong Ich habe deine Bearbeitung zurückgesetzt. Wenn jemand sagt "Verwenden Sie den folgenden Code nicht, weil er nicht funktioniert", ist es schädlich , diesen Code zu korrigieren , während Sie den Kommentar hinterlassen, dass er nicht funktioniert - insbesondere, wenn die Erklärung in den Kommentaren, warum der Code nicht funktioniert, verletzt wird funktioniert nicht Trotzdem ist diese Antwort immer noch etwas verwirrt und verdient aus den von tpower und ShadowWizard angegebenen Gründen eine Ablehnung.
Mark Amery
1
Verwenden Sie wahre und falsche Werte für Boolesche Werte. Verwenden Sie nicht "wahr" oder "falsch" (Zeichenfolgen).
Jone Polvora
13
Wenn Sie ein Kontrollkästchen wie aktiviert haben;
$('.className').attr('checked','checked')
es könnte nicht genug sein. Sie sollten auch die folgende Funktion aufrufen.
$('.className').prop('checked','true')
Insbesondere, wenn Sie das Kontrollkästchen Kontrollkästchen entfernt haben.
// when the button (select_unit_button) is clicked it returns all the checed checkboxes values
$("#select_unit_button").on("click",function(e){var arr =[];
$(':checkbox:checked').each(function(i){
arr[i]= $(this).val();// u can get id or anything else});//console.log(arr); // u can test it using this in google chrome});
$("#mycheckbox").click();
Antworten:
Moderne jQuery
Verwendung
.prop()
:DOM-API
Wenn Sie nur mit einem Element arbeiten, können Sie jederzeit auf das zugrunde liegende Element zugreifen
HTMLInputElement
und dessen.checked
Eigenschaft ändern :Der Vorteil der Verwendung der Methoden
.prop()
und.attr()
stattdessen besteht darin, dass sie mit allen übereinstimmenden Elementen arbeiten.jQuery 1.5.x und niedriger
Die
.prop()
Methode ist nicht verfügbar, daher müssen Sie sie verwenden.attr()
.Beachten Sie, dass dies der Ansatz ist, der von jQuerys Komponententests vor Version 1.6 verwendet wird und der Verwendung vorzuziehen ist,
$('.myCheckbox').removeAttr('checked');
da letzterer, wenn das Kontrollkästchen ursprünglich aktiviert wurde, das Verhalten eines Aufrufs in einem.reset()
beliebigen Formular ändert , das ihn enthält - ein subtiler, aber wahrscheinlich unerwünschte Verhaltensänderung.Weitere
checked
Informationen zu den Änderungen an der Behandlung des Attributs / der Eigenschaft beim Übergang von 1.5.x zu 1.6 finden Sie in den Versionshinweisen zu Version 1.6 und im Abschnitt Attribute vs. Eigenschaften der.prop()
Dokumentation .quelle
DOMElement.checked = true
" Aber es wäre vernachlässigbar, weil es nur ein Element ist ...$(element).prop('checked')
ist eine völlige Verschwendung von Eingabe.element.checked
existiert und sollte in den Fällen verwendet werden, in denen Sie bereits habenelement
Verwenden:
Und wenn Sie überprüfen möchten, ob ein Kontrollkästchen aktiviert ist oder nicht:
quelle
Dies ist die richtige Art und Weise zu kontrollieren und Kontrollkästchen mit jQuery unchecking, wie es Cross-Plattform - Standard ist, und wird Form reposts ermöglichen.
Auf diese Weise verwenden Sie JavaScript-Standards zum Aktivieren und Deaktivieren von Kontrollkästchen, sodass jeder Browser, der die Eigenschaft "checked" des Checkbox-Elements ordnungsgemäß implementiert, diesen Code fehlerfrei ausführt. Dies sollten alle gängigen Browser sein, aber ich kann vor Internet Explorer 9 keine Tests durchführen.
Das Problem (jQuery 1.6):
Sobald ein Benutzer auf ein Kontrollkästchen klickt, reagiert dieses Kontrollkästchen nicht mehr auf die "aktivierten" Attributänderungen.
Hier ist ein Beispiel für das Kontrollkästchenattribut, das den Job nicht ausführt, nachdem jemand auf das Kontrollkästchen geklickt hat (dies geschieht in Chrome).
Geige
Die Lösung:
Durch die Verwendung der "geprüften" Eigenschaft von JavaScript für die DOM- Elemente können wir das Problem direkt lösen, anstatt zu versuchen, das DOM so zu manipulieren, dass es das tut, was wir wollen .
Geige
Dieses Plugin ändert die überprüfte Eigenschaft aller von jQuery ausgewählten Elemente und aktiviert und deaktiviert die Kontrollkästchen unter allen Umständen erfolgreich. Dies scheint zwar eine übermäßige Lösung zu sein, verbessert jedoch die Benutzererfahrung Ihrer Website und hilft, Frustrationen der Benutzer zu vermeiden.
Wenn Sie kein Plugin verwenden möchten, können Sie alternativ die folgenden Codefragmente verwenden:
quelle
removeAttr('checked')
eher alsattr('checked', false)
checked
dem Klicken auf das Kontrollkästchen durch den Benutzer nicht mehr auf Attributänderungen reagiert , unabhängig von der Methode, mit der sie geändert wurden.$('.myCheckBox').prop('checked', true)
Auf diese Weise wird es automatisch auf den gesamten Satz übereinstimmender Elemente angewendet (nur beim Einstellen ist das Erhalten immer noch das erste)prop
ist definitiv die geeignete Methode, um Attribute für ein Element festzulegen.Du kannst tun
oder
Wenn Sie im onclick-Ereignis benutzerdefinierten Code für das Kontrollkästchen haben, das Sie auslösen möchten, verwenden Sie stattdessen diesen:
Sie können das Kontrollkästchen deaktivieren, indem Sie das Attribut vollständig entfernen:
Sie können alle Kontrollkästchen wie folgt aktivieren:
quelle
$(".myCheckbox").click()
.attr
anstelle von verwendet wird.prop
.$("#mycheckbox").click();
für mich gearbeitet , wie ich Änderungsereignis zu zuhörte und.attr
&.prop
fired Änderungsereignis.Sie können das $ .fn-Objekt auch mit neuen Methoden erweitern:
Dann können Sie einfach tun:
Oder Sie möchten ihnen eindeutigere Namen wie mycheck () und myuncheck () geben, falls Sie eine andere Bibliothek verwenden, die diese Namen verwendet.
quelle
.attr
anstelle von verwendet wird.prop
.Der letzte löst das Klickereignis für das Kontrollkästchen aus, die anderen nicht. Wenn Sie also im onclick-Ereignis benutzerdefinierten Code für das Kontrollkästchen haben, das Sie auslösen möchten, verwenden Sie den letzten.
quelle
.attr
anstelle von verwendet wird.prop
.click
Ereignis in Firefox und Edge unzuverlässig.Um ein Kontrollkästchen zu aktivieren, sollten Sie verwenden
oder
und um ein Kontrollkästchen zu deaktivieren, sollten Sie es immer auf false setzen:
Wenn Sie tun
Dadurch wird das Attribut insgesamt entfernt, und Sie können das Formular daher nicht zurücksetzen.
BAD DEMO jQuery 1.6 . Ich denke das ist kaputt. Für 1.6 werde ich einen neuen Beitrag dazu verfassen.
NEUE ARBEITSDEMO jQuery 1.5.2 funktioniert in Chrome.
Beide Demos verwenden
quelle
$(".mycheckbox").prop("checked", true/false)
Dadurch werden Elemente ausgewählt, die das angegebene Attribut mit einem Wert haben, der den angegebenen Teilstring "ckbItem" enthält:
Es werden alle Elemente ausgewählt, deren Namensattribut ckbItem enthält.
quelle
Angenommen, die Frage ist ...
Wie aktiviere ich ein Kontrollkästchen nach Wert?
Denken Sie daran, dass in einem typischen Kontrollkästchensatz alle Eingabe-Tags denselben Namen haben und sich durch das Attribut unterscheiden
value
: Für jede Eingabe des Satzes gibt es keine ID.Die Antwort von Xian kann mit der folgenden Codezeile um einen spezifischeren Selektor erweitert werden:
quelle
Mir fehlt die Lösung. Ich werde immer verwenden:
quelle
.val()
dieundefined
beim Aufruf von 0 Elementen immer zurückkehrt , um zu erkennen, dass ein jQuery-Objekt leer ist, wenn Sie könnten Überprüfen Sie.length
stattdessen einfach ) - siehe stackoverflow.com/questions/901712/… für besser lesbare Ansätze.Um ein Kontrollkästchen mit jQuery 1.6 oder höher zu aktivieren, gehen Sie wie folgt vor :
Verwenden Sie zum Deaktivieren:
Folgendes möchte ich verwenden, um ein Kontrollkästchen mit jQuery umzuschalten:
Wenn Sie jQuery 1.5 oder niedriger verwenden:
Verwenden Sie zum Deaktivieren:
quelle
Hier ist eine Möglichkeit, dies ohne jQuery zu tun
quelle
Hier ist der Code zum Aktivieren und Deaktivieren mit einer Schaltfläche:
Update: Hier ist der gleiche Codeblock mit der neueren Jquery 1.6+ Prop-Methode, die attr ersetzt:
quelle
.attr
anstelle von verwendet wird.prop
.Versuche dies:
quelle
Wir können
elementObject
mit jQuery verwenden, um das Attribut zu überprüfen:Wir können dies für alle jQuery-Versionen ohne Fehler verwenden.
Update: Jquery 1.6+ hat die neue Requisitenmethode, die attr ersetzt, z.
quelle
.attr
anstelle von verwendet wird.prop
.Wenn Sie PhoneGap für die Anwendungsentwicklung verwenden und einen Wert auf der Schaltfläche haben, den Sie sofort anzeigen möchten, denken Sie daran, dies zu tun
Ich habe festgestellt, dass die Benutzeroberfläche ohne die Spanne nicht aktualisiert wird, egal was Sie tun.
quelle
Hier ist der Code und die Demo zum Aktivieren mehrerer Kontrollkästchen ...
http://jsfiddle.net/tamilmani/z8TTt/
quelle
$("#check")
mit rohen DOM-API-Aufrufendocument.getElementsByTagName("input")
scheint mir unelegant zu sein, insbesondere angesichts der Tatsache, dass diefor
Schleifen hier durch die Verwendung vermieden werden könnten.prop()
. Unabhängig davon ist dies eine weitere späte Antwort, die nichts Neues hinzufügt.Eine andere mögliche Lösung:
quelle
Wie @ livefree75 sagte:
jQuery 1.5.x und niedriger
Sie können das $ .fn-Objekt auch mit neuen Methoden erweitern:
In neuen Versionen von jQuery müssen wir jedoch Folgendes verwenden:
jQuery 1.6+
Dann können Sie einfach tun:
quelle
Wenn Sie Mobile verwenden und möchten, dass die Benutzeroberfläche aktualisiert wird und das Kontrollkästchen als deaktiviert angezeigt wird, verwenden Sie Folgendes:
quelle
Beachten Sie Speicherlecks in Internet Explorer vor Internet Explorer 9 , wie in der jQuery-Dokumentation angegeben :
quelle
.prop('checked',true)
.Für jQuery 1.6+
Für jQuery 1.5.x und niedriger
Überprüfen,
quelle
Zum Aktivieren und Deaktivieren
quelle
quelle
Dies ist wahrscheinlich die kürzeste und einfachste Lösung:
oder
Noch kürzer wäre:
Hier ist auch eine jsFiddle .
quelle
Einfaches JavaScript ist sehr einfach und viel weniger Aufwand:
Beispiel hier
quelle
Ich konnte es nicht zum Laufen bringen mit:
Sowohl wahr als auch falsch würden das Kontrollkästchen aktivieren. Was für mich funktioniert hat war:
quelle
true
undfalse
und nicht'true'
und'false'
?'false'
es in einen booleschen Wert konvertiert wurde, was dazu führte, dass einetrue
leere Zeichenfolge ausgewertet wurde,false
sodass es "funktioniert" hat. Sehen Sie sich diese Geige zum Beispiel an, was ich meine.Wenn Sie ein Kontrollkästchen wie aktiviert haben;
es könnte nicht genug sein. Sie sollten auch die folgende Funktion aufrufen.
Insbesondere, wenn Sie das Kontrollkästchen Kontrollkästchen entfernt haben.
quelle
Hier ist die vollständige Antwort mit jQuery
Ich teste es und es funktioniert zu 100%: D.
quelle
In jQuery
oder
In JavaScript
quelle
.attr
anstelle von verwendet wird.prop
.