value aus selectbox als name verwenden
Bernd_K
- javascript
Hallo zusammen,
ich habe folgendes Problem: In einer Selectbox stehen die Namen meiner Arrays als value-Werte drin.
Wie kann ich jetzt diesen Namen als Arraynamen weiter verwenden?
Kleines Beispiel:
Der ausgewählte eintrag hat als value xyz stehen. Dann gibt es auch ein Array, das den Namen xyz hat.
ich hab das schon versucht:
var type = document.date.reporttype.options[document.date.reporttype.options.selectedIndex].value;
alert(type[0][0]);
leider geht das nicht.
Gibts da ne Lösung?
Gruss Bernd
Hallo Bernd,
var type = document.date.reporttype.options[document.date.reporttype.options.selectedIndex].value;
alert(type[0][0]);
wenn Dein Array schon "type" heisst, dann überschreibst Du es mit der erneuten Deklaration einer Variablen namens "type" - Dein Array ist dann futsch!
Folgendes funktioniert aber:
var type=new Array(1,2,3,4,5);
var myString="type"; // Dein Select-Value!
alert(eval(myString+"[0]"));
Grüße,
bluntburn
hi,
var type = document.date.reporttype.options[document.date.reporttype.options.selectedIndex].value;
alert(type[0][0]);
wenn Dein Array schon "type" heisst, dann überschreibst Du es mit der erneuten Deklaration einer Variablen namens "type" - Dein Array ist dann futsch!
das hat er wohl nicht gemeint.
er wollte hier, dass bei type[0][0] automatisch type durch seinen inhalt ersetzt wird, also wenn type="blubb", dann sol so automatisch der zugriff auf blubb[0][0] erfolgen.
das geht aber so in javascript nicht.
entweder machst du es nach bluntburns vorschlag mit eval (aber eval is evil ;-), d.h. meistens gibt es bessere möglichkeiten).
oder aber, du fügst noch eine array-ebene hinzu:
var meineArrays = new Array();
meineArrays["blubb"] = new Array();
meineArrays["blah"] = new Array();
dann kannst du jetzt einfach deinen textstring "blubb" aus der select-auswahl nehmen, so dass in type also "blubb" drinsteht.
so kannst du mit
meineArrays[type][0][0]
auf das gewünschte element zugreifen.
gruss,
wahsaga