Ich habe eine Liste von Kontrollkästchen. Wenn die Seite geladen ist, werden einige überprüft, andere nicht. Wenn der Benutzer auf das Kontrollkästchen klickt, habe ich eine jQuery-Funktion, die überprüft, ob das ausgewählte Kontrollkästchen aktiviert ist oder nicht.Warum werden diese Kontrollkästchenwerte umgekehrt?
Das Problem ist, dass ich positive Ergebnisse bekomme, wenn das Kontrollkästchen nicht aktiviert ist, und umgekehrt. Hier ist ein Beispiel für die HTML:
<input type="checkbox" class="update-member">
<input type="checkbox" class="update-member" checked>
Hier wird das javascript: ‚! Karo‘
updateMembership : function (e) {
e.preventDefault();
if ($(this).prop('checked')) {
console.log('Checked!');
} else {
console.log('NOT Checked');
}
}
Zum Beispiel, wenn der Benutzer das erste Kontrollkästchen klickt, es sagt in der Konsole.
Vielleicht ist es mein Denken, das ist umgekehrt? Nicht das Javascript?
Wenn 'updateMembership' genannt wird? Verwenden Sie "change" Listener anstelle von 'click' listener. – Rayon
https://jsfiddle.net/rayon_1990/7co3rumo/1/ – Rayon
Nebenbei,' this.checked' ist effizienter zu tippen * und * als '' auszuführen $ (this) .prop ('checked') '. @Rayon - Click-Ereignis funktioniert gut, wenn Sie das Standardverhalten nicht verhindern. – nnnnnn