AJAX: Wert von checkbox ist immer "on"?

2 Antworten

Zuerst zu den Markupfehlern (dabei solltest du HTML doch inzwischen können?):

  • Der Doctype fehlt
  • Der title fehlt
  • Für das input-Element gibt es kein schließendes Element

Außerdem sollte der button als Button gekennzeichnet werden (type="button").

jQuery bindest du, wie ich sehe, gar nicht ein.

Die Prüfung, ob eine Checkbox aktiviert ist, sollte in jQuery so erfolgen:

$("#water").is(':checked')

Deine Checkboxen haben gar keinen Wert (value="..."), also kommt bei .val() der Default-Wert "on" raus.

Was möchtest du denn beim absenden an den Server übermitteln? true/false?

data: {
  "water": $("#water").prop('checked'),
  "milk": $("#milk").prop('checked')
}