Variablename als Variable in einer anderen Funktion verwenden
Jérôme
- javascript
Hallihallo!
Mein erster Eintrag hier - ich bin mal gespannt und freu mich schon auf die Reaktionen :o).
Hier ist mein Problem:
Ich wusste nicht, wie ich den Thread anders nennen sollte, ich hoffe, ich kann es besser erklären.
Ich möchte realisieren, dass sich in Abhängigkeit des ausgewählten Wertes in einem SELECT-Feld die Werte in zwei anderen Textfeldern ändern.
Ich habe ein Array definiert, das folgendermaßen aussieht:
var hk = new Array();
hk["Bildschirme"] = new Array("01, "text01");
hk["Drucker"] = new Array("02, "text02");
hk["HDT/MDT"] = new Array("03, "text03");
hk["Personal Computer"] = new Array("04, "text04");
Nun lasse ich mir in eine Variable den Wert des aktuell selektierten Wertes im SELECT-Feld aus meinem Formular auslesen.
var katname = document.forms["form"].elements["katname"].value;
Die Variable "katname" enthält jetzt also einen der Werte: "Bildschirme", "Drucker", "HDT/MDT" oder "Personal Computer".
Und nun möchte Werte aus dem Array haben, das in der Variable hk["XXXXX"] gespeichert ist, wobei XXXXX durch den Wert zu ersetzen ist, der in "katname" gespeichert ist.
Um die Felder in meinem Formular zu füllen, würde ich z.B. gerne eine Zeile wie:
document.forms["form"].elements["hknr"].value = hk[katname][0];
Wobei "katname" hier die Variable sein soll, die den eigentlichen Wert enthält.
Uff, war das anstrengend. Weiß jemand Rat?
Vielen, vielen Dank im Voraus und viele Grüße!
hi,
Ich habe ein Array definiert, das folgendermaßen aussieht:
var hk = new Array();
hk["Bildschirme"] = new Array("01, "text01");
hk["Drucker"] = new Array("02, "text02");
hk["HDT/MDT"] = new Array("03, "text03");
hk["Personal Computer"] = new Array("04, "text04");
Nun lasse ich mir in eine Variable den Wert des aktuell selektierten Wertes im SELECT-Feld aus meinem Formular auslesen.
Die Variable "katname" enthält jetzt also einen der Werte: "Bildschirme", "Drucker", "HDT/MDT" oder "Personal Computer".
und wo ist jetzt eigentlich das problem?
hk[katname] sollte doch für den zugriff vollkommen ausreichend sein.
gruss,
wahsaga
Sup!
Na, weil Du das erste Mal da bist, schreibe ich doch glatt einen Testcase fuer Dich (das solltest Du eigentlich machen...).
<html>
<head><title>test</title>
<script type="text/javascript">
hk = new Array();
hk["schirm"] = new Array("01","text01");
</script>
</head><body>
<form name="test"><select name="sel"><option name="click" value="schirm">bla</option></select>
<input type="button" onClick="alert(hk[document.test.sel.options[document.test.sel.selectedIndex].value][1]);">
</form>
</body></html>
Geht doch. Vielleicht ist es Dein Problem, mit var Variablen als lokal zu deklarieren?
Gruesse,
Bio
Danke schön! Der Fehler lag tatsächlich (wie auch sonst ;) bei mir, weil ich das array auf Websphere-Seite dynamisch generieren ließ und sich da ein Fehler eingeschlichen hatte.
Das nächste Mal denke ich auch an den Testcase :)
Gruß