Hallo Regina,
ich habe jetzt noch ein wenig getestet. Meine PHP Datei schaut so aus
if ($stmt = $mysqli->prepare("Update todo SET pt_status=? WHERE pt_id=?")) {
$stmt->bind_param("ss", $_POST["todo"], $_POST["id"]);
$stmt->execute();
}
if ($_POST["todo"] == 1) {
echo json_encode( array("readyState" => "4", "ok" => "200", "responseText" => "done"));
}
if ($_POST["todo"] == 0) {
echo json_encode( array("readyState" => "4", "ok" => "200", "responseText" => "nein"));
}
Und mein jQuery schaut so aus
$(document).ready(function() {
$('.todo').click(function() {
var thisCheckbox = $( this );
thisCheckbox.prop( 'disabled', true );
if ($(this).val() == 0) {
var status = 1;
} else {
var status = 0;
}
var formData = {
'todo': status,
'id': $(this).data("id")
};
$.ajax({
url: "updateToDo.php",
type: "post",
dataType: 'json',
data: formData,
success:function(d) {
if ( d.readyState == 4 && d.ok == 200 ) {
if( d.responseText == 'done' ) {
thisCheckbox.next('span').addClass( 'done');
} else {
thisCheckbox.next( 'span' ).removeClass( 'done' );
}
if( d.responseText == 'leer' ) {
thisCheckbox.next('span').removeClass( 'done');
}
thisCheckbox.prop( 'disabled', false );
}
}
});
});
});
Das hinzufügen funktioniert, aber das entfernen leider nicht. Das liegt wohl daran dass das value nach dem Klick nicht aktualisiert wird, richtig?
und genau dieses habe ich im letzten Satz hier gefragt:
https://forum.selfhtml.org/self/2018/sep/25/bei-klick-auf-checkbox-update-ausfuehren-und-text-durchstreichen/1732894#m1732894
Bis bald!
Bernd