Sven Rautenberg: Gruppieren von Radiobuttons

Beitrag lesen

Moin!

Cola  O 1   O 2
Tee   O 1   O 2

  1. am besten heiß trinken
  2. am besten kalt trinken

Die O's sollen Radiobuttons darstellen. Für Cola soll gelten: 1 oder 2 soll auswählbar sein, für tee dementsprechend 1 oder 2 soll auswählbar sein.
Bis hierhin kein Problem, für die beiden Radiobuttons bei Cola denselben Namen und für die bei Tee denselben Namen.
ABER:
Es soll nicht möglich sein 1 bzw. 2 mehrmals anzugeben, d.h. für cola trifft genau eins zu und für tee genau eins. Man darf nicht frei wählen, sondern muss einmal 1) setzen und einmal 2) setzen.

Ohne Javascript wird das nichts. Aber auch mit Javascript stehst du vor einem Problem:

Wenn du keine Vorbelegung für die Radiobuttons machst, dann sind alle vier Stück zu Beginn nicht angewählt. Wenn du dich dann bei Cola für "heiß trinken" entscheidest, kannst du dich dort wahlweise noch umentscheiden für "kalt trinken", oder aber du wählst beim Tee "kalt trinken". Wenn du in diesem Zustand deinen Irrtum bemerkst, kannst du nicht ohne weiteres bei Cola auf "kalt trinken" setzen, weil die Auswahl beim Tee schon auf "kalt trinken" steht - eine doppelte Auswahl von "kalt trinken" soll aber unmöglich sein.

Die Lösung wäre, bei Auswahl eines Punktes in einer Gruppe die Auswahl in der anderen Gruppe automatisch zu setzen. Aber warum dann überhaupt den Aufwand? Im Prinzip hast du eine simple ja/nein-Frage: Cola heiß/Tee kalt oder Cola kalt/Tee heiß. Du läßt keine Kombinationen zu: Cola kalt/Tee kalt (schonmal was von Eistee gehört?) ist verboten.

Deshalb wäre mein Vorschlag: Nur eine Gruppe von zwei Radiobuttons einbauen, die zwischen den beiden erlaubten Varianten eine Auswahl erlaubt. Denn wenn zwei verschiedene Gruppen von Radiobuttons voneinander abhängig sind, macht man besser eine einzige Gruppe daraus. Insbesondere dann, wenn du noch keine Ahnung von Javascript hast.

- Sven Rautenberg

--
"Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)