Ich habe Probleme, das herauszufinden. Ich habe zwei Kontrollkästchen (in Zukunft werden mehr vorhanden sein):
checkSurfaceEnvironment-1
checkSurfaceEnvironment-2
Grundsätzlich möchte ich eine if-Anweisung schreiben und testen, ob eine davon aktiviert ist und eine andere NICHT aktiviert ist. Was ist der einfachste Weg, um Folgendes zu erreichen:
if ( $("#checkSurfaceEnvironment-1").attr('checked', true) &&
$("#checkSurfaceEnvironment-2").is('**(NOT??)** :checked') ) {
// do something
}
jquery
if-statement
user1040259
quelle
quelle
||
diese Option, um nicht&&
zu überprüfen, ob eines davon aktiviert ist.&&
prüft, ob beide geprüft sind.Antworten:
Ein zuverlässiger Weg, den ich benutze, ist:
Wenn Sie über markierte Elemente iterieren möchten, verwenden Sie das übergeordnete Element
Mehr Info:
Dies funktioniert gut, da für alle Kontrollkästchen eine Eigenschaft aktiviert ist, in der der tatsächliche Status des Kontrollkästchens gespeichert ist. Wenn Sie möchten, können Sie die Seite überprüfen und versuchen, ein Kontrollkästchen zu aktivieren und zu deaktivieren. Sie werden feststellen, dass das Attribut "aktiviert" (falls vorhanden) gleich bleibt. Dieses Attribut repräsentiert nur den Anfangszustand des Kontrollkästchens und nicht den aktuellen Zustand. Der aktuelle Status wird in der Eigenschaft gespeichert, die vom dom-Element für dieses Kontrollkästchen aktiviert wurde.
Siehe Eigenschaften und Attribute in HTML
quelle
checked = true
quelle
Sie können auch entweder die jQuery-
.not()
Methode oder den:not()
Selektor verwenden:JSFiddle-Beispiel
Zusätzliche Bemerkungen
Aus der jQuery-API-Dokumentation für den
:not()
Selektor :quelle
Ein alternativer Weg:
Hier ist ein funktionierendes Beispiel und hier ist der Code, Sie sollten auch prop verwenden.
Ich habe den Weg zum Umschalten des aktivierten Attributs auskommentiert.
quelle
quelle
Ich suchte nach einer direkteren Implementierung, wie von avijendr vorgeschlagen.
Ich hatte ein kleines Problem mit seiner / ihrer Syntax, aber ich habe das zum Laufen gebracht:
In meinem Fall hatte ich eine Tabelle mit einer Klasse
user-forms
, und ich war die Überprüfung , wenn eine der Kontrollkästchen, die die Zeichenfolge hattencheckPrint
in ihrerid
unkontrolliert war.quelle
Ich denke, der einfachste Weg (mit jQuery) zu überprüfen, ob das Kontrollkästchen aktiviert ist oder NICHT, ist:
wenn 'markiert':
wenn NICHT 'geprüft':
quelle
Hier habe ich einen Ausschnitt für diese Frage.
quelle
Um es so zu machen,
.attr()
wie Sie es getan haben, um zu sehen, ob es überprüft wurde.attr("checked", "checked")
, und wenn es nicht ist, wäre es das.attr("checked") == undefined
quelle
Geben Sie true zurück, wenn alle checbox in einem div aktiviert sind
quelle
Einfach und leicht zu überprüfender oder ungeprüfter Zustand
quelle
Probier diese
Wählen Sie im obigen Code das Element nach ID aus
(#checkSurfaceEnvironment-1)
und filtern Sie dann den überprüften Status nach(:checked)
Filter heraus.Es wird ein Array des überprüften Elementobjekts zurückgegeben. Wenn im Array ein Objekt vorhanden ist, ist die Bedingung erfüllt.
quelle
Es gibt zwei Möglichkeiten, den Zustand zu überprüfen.
ODER Sie können diesen auch verwenden
Ich hoffe das ist nützlich für dich.
quelle
Hier ist der einfachste Weg angegeben
quelle
Ich habe das benutzt und für mich gearbeitet!
quelle
Ich weiß, dass dies bereits beantwortet wurde, aber dennoch ist dies ein guter Weg, dies zu tun:
quelle
quelle
quelle