Wenn ich jetzt auf eine Checkbox klicke möchte ich gerne im Hintergrund ein Update in meiner mySQL Tabelle ausführen. Der status soll von 0 auf 1 gesetzt werden. Gleichzeitig möchte ich gerne dass der Text durchgestrichen wird.
Nicht "gleichzeitig"!
Der zu setzende Status bzw. die Klasse ergibt sich aus dem Value der Checkbox. Nach dem Change der Checkbox setzt Du die Checkbox auf disabled, ermittelst den Value, sendest den Ajax-Request ab, der dann zurückmeldet ob die Datenbankänderung geklappt hat. Nach der Prüfung der Antwort setzt Du für den Text die Klasse, die das "erledigt" bzw. "nicht erledigt" anzeigt (e.g. [nicht]durchgestrichener Text). Dann kannst Du die Checkbox wieder aktivieren. Ergibt sich aus der Prüfung der Antwort ein Fehler (Inhalt und/oder Header), dann mach was Du in dem Fall zu tun vorhast.
Tipp: "Flagge" auch Codes für die möglichen Fehler der Datenbank in der Antwort auf den Request durch.
Das Abschalten der Checkbox soll dafür sorgen, dass der Benutzer nicht wild auf der Ckeckbox rumklickt wenn es mal ein Zehntelsekündchen zu lange dauert.