Sende den Checkbox-Status mit Ajax / JSON und speichere es

Die Aufgabe ist eigentlich ganz einfach, glaube ich. Ich möchte den Status eines Kontrollkästchens abfragen, mit $ .post und JSON an eine function übergeben und dann den Wert speichern.

mein-html (relevanter Teil)

<input type="checkbox" id="column_handle; ?>" name="column_handle; ?>" class="checkbox" {$category->column_handle}){echo 'checked="checked"';} ?> value="1"> 

mein Skript

 $('.checkbox').change(function(e){ var parent = $(this).parents('.container'); $.post({ dataType: 'json', url: ajax_object.ajaxurl, data:{ 'action': 'myaction', 'column': $(this).attr('id'), 'check': $(this).prop('checked') } }).done(function(data){ parent.find('.title').text(data.input); }); }); 

meine function

 function my_function(){ global $wpdb; $column = esc_attr($_POST['column']); $bool = esc_attr($_POST['check']); /*$id is correct and sourced elsewhere (I deleted that part)*/ $wpdb->update('my_dataset',array($column => $bool),array('ID' => $id)); echo json_encode(array('input' => $bool)); die(); } add_action('wp_ajax_myaction','my_function'); 

Der .done-Teil dient zum Testen und gibt den Status des Kontrollkästchens korrekt zurück. Aber es ist nicht gespeichert. Ich habe schon viel versucht, zum Beispiel den Status als String zu behandeln oder 0 und 1 zu passieren. Alles ohne Erfolg. Vielleicht kann einer von euch mir helfen.

Solutions Collecting From Web of "Sende den Checkbox-Status mit Ajax / JSON und speichere es"

 .prop() 

Methode gibt den booleschen Typ zurück. Richtig oder falsch. Sie sollten den überprüften Wert senden und in der database speichern. Und in HTML erhalten Sie Ihren Wert und setzen Sie es auf Ihre Checkbox. Ein Beispiel haben Sie . Sie sollten an php $('.checkbox').val(); senden $('.checkbox').val(); und dann checked attr zu html.

 < ?php $checked = 'your var from database'; ?>  name="test" class="checkbox" value="checked"> 

So etwas sollte funktionieren.