Aus gewähltem Radio-Button Text zuweisen

AndiB

Grünschnabel
Erst mal ein großes Hallo ans Forum,

und nun zu meinem Anliegen.

Ich habe folgende Radio-Buttons:
Code:
<input type='radio' name='Test' value='test1' checked='checked' onClick="auswahl(1_A)" />
<input type='radio' name='Test' value='test2' onClick="auswahl(2_B)" />
<input type='radio' name='Test' value='test3' onClick="auswahl(3_C)" />

Nun bräuchte ich eine Ausgabe des Textes von "auswahl", wenn ein entsprechender Radio-Button ausgewählt wird.

Also wenn jemand auf den zweiten Radio-Button klickt, dann sollte folgendes ausgegeben werden:
"Auswahl 2 an Stelle B wurde ausgewählt"

Der Unterstrich dient hier als Trennzeichen. Diesen kann ich auch anders machen. Standardmäßig ist "1_A" ausgewählt. Hier sollte dann auch der Text von dem Button ausgegeben werden, welcher als "checked" markiert ist. Auch wenn noch nichts gedrückt wurde.

Die Anzahl der Radio-Buttons ist auch unterschiedlich. Mal ist es nur eine und dann auch mal 8. Die Texte "1" oder "A" sind nur Beispiele. Diese werden dann später durch andere Texte ersetzt.

Ich habe leider von JavaScript keine Ahnung, daher wäre es toll, wenn mir hier jeman den entsprechenden Code schicken könnte.

Vielen Dank im voraus.

Gruß
Andi
 
Ist es immer nur eine Stelle vor und eine Stelle nach dem Unterstrich?

Javascript:
function auswahl(wert) {
    meldung = "Auswahl " + wert.substring(0, 1) + " an Stelle " + wert.substring(2) + " wurde ausgewählt.";
    alert(meldung);
}
 
Hallo tombe,

vielen Dank für deine schnelle Antwort.

Es ist nicht nur eine Stelle. Das werden Zahlen sein, wie z.B. "4,90" oder "136,50".
Die Ausgabe des Textes müsste ich an einer bestimmten Stelle einfügen. Hier müsste ich den auszugebenden Text vielleicht auch noch etwas mit html-Befehlen ergänzen, wie z.B. <b> oder <br/>.

Und wird bei deiner Variante auch die "Standard-Auswahl" direkt angezeigt, auch wenn der Benutzer noch kein Radio-Button angeklickt hat?

Gruß
Andi
 
Ok, dann mach es so.

<script language="javascript" type="text/javascript">
Javascript:
function auswahl(wert) {

trennzeichen = wert.indexOf("_");

meldung = "Auswahl " + wert.substring(0, trennzeichen) + " an Stelle " + wert.substring(trennzeichen + 1) + " ausgewählt.";

document.getElementById("anzeige").innerHTML = meldung;

}
HTML:
<input type='radio' name='Test' value='test1' checked='checked' onclick="auswahl('1_A')" />
<input type='radio' name='Test' value='test2' onclick="auswahl('22_b')" />
<input type='radio' name='Test' value='test3' onclick="auswahl('3_CCC')" />
<br/>
<div id="anzeige">Auswahl 1 an Stelle A wurde ausgewählt.</div>

Die erste Ausgabe der Meldung wird in einem DIV so vorgegeben. Dadurch steht sie dann beim ersten Anzeigen auch da.
In der Funktion wird zuerst geprüft an welcher Stelle das Trennzeichen "_" im übergebenen Wert vorhanden ist und dann die beiden Ausgaben gebildet.

Wie im Beispiel zu sehen, sind die Stellen vor und nach dem Trennzeichen verschieden.
 
Danke, aber leider klappt es nicht.

Ich musste das Trennzeichen ersetzen. Hier habe ich nun das : (Doppelpunkt) genommen. Könnte das ein Problem verursachen? Folgendes habe ich entsprechend geändert:
trennzeichen = wert.indexOf(":");

Wenn ich den Radio-Button ändere, bleibt der Text immer gleich.

Achja, noch was: Der Text, der zu Beginn angezeigt wird (also der checked), darf nicht statisch sein. Dieser Text (Wert) ändert sich. Er muss daher auch vom Radio-Button übernommen werden. Wenn das "checked" nicht verwertet werden kann, dann vielleicht die "value". Hier hat dieser Eintrag immer "value='standard'.
 
Es spielt absolut keine Rolle ob du den Unterstrich, den Doppelpunkt oder sonst ein anderes Zeichen als Trennzeichen nimmst. Es muss halt im übergebenen Text enthalten sein.

Hier ist das gleiche Beispiel mit Doppelpunkt als Trennzeichen. Dort siehst du auch das der Text geändert wird wenn etwas ausgewählt wird.
 
Ich habe den Fehler jetzt gefunden.
Es lag an den zusätzlichen "" bei der Auswahl.

Das funktioniert jetzt auch soweit, nur das mit dem statischen Text, wenn noch nichts ausgewählt wurde, passt noch nicht. Kannst du da noch so machen, oder muss ich hier via PHP schauen ob ich die Daten herbekomme?

Und was passiert hier, wenn JavaScript am Browser deaktiviert ist? Kommt da eine Fehlermeldung?
 
Was meinst du mit dem "statischen Text"? Die Anzeige wird doch verändert wenn man eine andere Checkbox anklickt.

Da laut deinem HTML-Code die erste Checkbox bereits ausgewählt ist, stimmt es auch was als Meldung zu Beginn angezeigt wird.

Wenn Javascript deaktiviert ist, passiert nichts. Das sollte aber klar sein.
 
Mit dem "statischen Text" meine ich den Text der angezeigt wird, wenn man die Seite betritt, sprich noch keine Änderung am Radio-Button durchgeführt hat:
<div id="anzeige">Auswahl 1 an Stelle A wurde ausgewählt.</div>

Da sich dieser Text auch ändert, darf er eben nicht statisch sein.
Aber ich schau mal, ob ich das via PHP machen kann.

Oder hast du da eine Idee?
 
In dem von dir eingestellten Code ist die erste Checkbox bereits ausgewählt.

HTML:
<input type='radio' name='Test' value='test1' checked='checked' onClick="auswahl(1_A)" />

Weiter hast du im ersten Beitrag geschrieben
Also wenn jemand auf den zweiten Radio-Button klickt, dann sollte folgendes ausgegeben werden: "Auswahl 2 an Stelle B wurde ausgewählt"
Dementsprechend habe ich als "Standardtext" das in den DIV-Container geschrieben was bei der ersten Checkbox übergeben wird "1_A".

Klickt man die zweite oder dritte Checkbox oder die erste erneut an, so wird der ausgegebene Text entsprechend dem Wert der an die Funktion übergeben wird geändert.

Also nochmal die Frage: Was daran stimmt nicht?

NACHTRAG: Ansonsten entferne bei der ersten Ceckbox das sie bereits ausgewählt ist und schreibe in das DIV "Noch kein Eintrag ausgewählt!" Macht aber so gesehen auch keinen Sinn.
 
Zuletzt bearbeitet:
Zurück