Hallo und guten Morgen,
Fallback (JS komplett ausgefallen): Der Button ist type="submit". So kann gesendet werden, was gesendet werden soll. Bspw. nur der Klick wobei die Zustände im Formular (JSON in hidden field) selbst gespeichert sind.
Wie kommen die dahin? Wo sie herkommen, kann ich mir schon vorstellen. Aber die alten will ich beim Request ja nicht wiederhaben, sondern eben die neuen vom Benutzer ausgewählten.
Über einen Platzhalter im Template. Nach dem Submit wird ja die ganze Seite neu geschickt. Ein weiteres hidden field hält die Nummer für den aktuellen Zustand. Weitergezählt wird serverseitig.
Machbar ist alles ;)