bei onchange einer listbox eine andere ändern
Debaser
- javascript
Hi....
...irgendwie komm ich mit js nicht ganz klar.
Und zwar finde ich nirgends eine Dokumentation, wie ich Objekte manipulieren kann.
Meine (konkrete) Frage:
Ich hab zwei Listboxes (select).
Wenn ich in der ersten einen Wert auswähle, dann möchte ich, daß sich in der zweiten der Wert aus dessen Liste anpaßt.
Beispiel: 3 Listen, alle haben values von 1-5 und zugehörige texte (miserabel-sehr gut).
wähle ich nun aus box 1 etwas aus, z.b 3 und in box 2 ist wert 1 ausgewählt, dann soll box den durchschnitt anzeigen (in diesem fall 3+1=4/2=2).
Den OnChange-Event schaff ich noch, aber wie lautet der befehl den wert auszulesen und wieder zu schreiben?
meine versuche den wert zu lesen:
e1==eval(form1.sele1.value)
oder
e1==eval(form1.sele1.value.selected)
oder
e1==eval(form1.sele1.selected.value)
geht aber nicht :-(
url mit aktuellem code hängt dran
Danke im Voraus,
Debaser
Hi,
ohne es probiert zu haben:
e1==eval(form1.sele1.value)
(usw.) - Das doppelte Gleichheitszeichen wird für eine Wertevergleich verwendet, z.B. if (e1 == 17), für die Zuweisung eines Wertes zu einer Variablen (das willst Du hier wohl tun, oder?), muss ein einfaches Gleicheitszeichen verwendet werden, also z.B. e1 = 17.
HTH & Grüße,
Utz
ok, das hat mal funktioniert.
nun bekomm ich aber bei folgendem skript die meldung, daß "w" nicht definiert wäre:
w[1]="miserabel";
w[2]="schlecht";
w[3]="ging so";
w[4]="gut";
w[5]="perfekt";
function calcevent()
{
e1=eval(form1.sele1.value);
e2=eval(form1.sele2.value);
e3=eval(form1.sele3.value);
erg=Math.round((e1/100*40)+(e2/100*40)+(e3/100*20));
form1.texte.value=w[erg];
}
dabei versuche ich die werte aus den drei selectboxen zu lesen (gelingt), den mittelwert (wert 1&2 zählen 40%, wert 3 20%) zu errechnen (gelingt) und diesen mittelwert als index (w[erg]) zu benützen um das textfeld mit dem richtigen text zu befüllen.
errorcode siehe anfang dieser mail.
was mach ich hier noch falsch?
Habs schon...mußte ein w=new Array(5) voranstellen...
Dafür bekomm ich nun hier
e1=eval(form1.texte.value);
die Meldung
';' expected.
???
Auch das ist gelöst, in der textbox stand keine zahl.
lösung: hidden field