Auswertung des Value eines Optionfeldes in Javascript
Wasserwiesel
- javascript
0 LX
Ihr könnt mir sicher weiter helfen. Denn ich bin zu blöd, eine Lösung im Net zu finden:
Problem:
Habe ein HTML Formular und in darin ein:
<select onChange=berechne(0) name=Person1>
<option value="234" selected>0</option>
<option value="123">Auswahl_1</option>
<option value="54">Auswahl_2</option>
<option value="55">Auswahl_3</option>
<option value="6">Auswahl_4</option>
jetzt hab ich folgendes gebaut:
for (i=0;i<=4;i++)
if (document.forms[0].Person1.options[i].selected)
betrag=betrag+(i*POS7);
so läuft es und i ist gleich mein Multiplikator. Aber ich will das value als Multiplikator nehmen.
Frage: wie müsste mein if (document.forms...... aussehen)
Vorgreifend ganz vielen lieben Dank, für jeden, der sich meines Kleinproblems annimmt.
So sieht es aus:
if (document.getElementsByName('Person1')[0].options[i].selected) { ... }
Wenn Du die ID referenzierst, solltest Du sie auch setzen, ansonsten nehme den Namen!
Gruß, LX
Das war schon mal ne grosse Hilfe.. und wie gehts weiter:
wie nehme ich nun den Value als Multiplikator:
Bisher hatte ich:
if (document.getElementsByName('Person1_Pos8')[0].options[i].selected)
betrag=betrag+(i*POS9);
also müsste ich das : betrag=betrag+(i*POS9); ja umbauen.
danch lieber LX entlasse ich die wieder aus meinem Knoten im Hirn.. -)
Was ist POS9?
Außerdem ist Deine Konstruktion etwas überflüssig, denn es gibt doch options.selectedIndex (liefert die Nummer der Option im Array zurück, die gerade ausgewählt ist):
var P1p8 = document.getElementsByName('Person1_Pos8')[0];
var value = P1p8.options[P1p8.options.selectedIndex].value;
Das nur als Beispiel, umschreiben musst Du schon selbst :-)
Gruß, LX
Hi!
Außerdem ist Deine Konstruktion etwas überflüssig, denn es gibt doch options.selectedIndex (liefert die Nummer der Option im Array zurück, die gerade ausgewählt ist):
Stimmt. Das duerfte die bessere Variante sein, aber nur, wenn es sich nicht um eine Mehrfachauswahl handelt.