Ich habe eine sehr einfache Anforderung für meine jQuery: eine Reihe von Kästchen zu überprüfen, wenn eine Optionsschaltfläche aktiviert ist, und alle zu löschen, wenn eine andere markiert ist.
Die jQuery funktioniert, aber es funktioniert nur einmal - das heißt, wenn ich klicke, um alle zu überprüfen (alle Kästchen check) und dann klicke, um sie zu löschen (alle Kästchen sind leer), und klicke erneut, um alle zu überprüfen - da ist Kein Effekt. Ähnlich, wenn ich einige Kästchen manuell deaktiviere, dann klicke, um alle wieder auszuwählen, es gibt keinen Effekt.
jQuery
%Vor%HTML
%Vor%jsFiddle Ссылка
Ändern Sie .attr()
in .prop()
.
Sie können dies auch auf nur reduzieren:
%Vor%Wie die Dokumente für .attr () angeben:
Ab jQuery 1.6 gibt die Methode .attr () undefined für Attribute zurück das wurde nicht festgelegt. Zum Abrufen und Ändern von DOM-Eigenschaften wie z Der geprüfte, ausgewählte oder deaktivierte Zustand von Formularelementen verwenden Sie .prop () Methode.
Ich weiß, dass dies hier sehr viel getäuscht wurde, aber ich habe etwas vermisst, ich hatte:
%Vor%Und wie oben erwähnt, müssen ALLE Fälle von attr für prop ()
getauscht werden %Vor%Ich hoffe, das hilft jemandem ...
Tags und Links javascript jquery checkbox