Bernd_K: value aus selectbox als name verwenden

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

  1. 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

    1. 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