Variablennamen dynamisch aus div. Strings erzeugen
@ndre@s
- javascript
0 Jan0 @ndre@s
0 Antje Hofmann
Hallo allerseits,
kennt jemand eine Lösung, wie man aus verschiedenen Strings einen Variablennamen erzeugen kann, auf den man auch zugreifen kann (sozusagen indirekte Adressierung).
Bsp. variablenname == buch1kapitel3seite5zeile23
feste strings: buch,kapitel,seite,zeile
variable srings: alle zahlen
wobei die letzte zahl wegfallen könnte, denn variablenname == buch1kapitel3seite5zeile[23] würde auch gehen.
Oder bleibt mir da nur die konstruktion eines mehrdimensionalen Arrays übrig ???
Also buch[1]kapitel[3]seite[5]zeile[23], falls dass überhaupt funktioniert? Ich weiss nämlich nicht, wie tief man Array staffeln kann.
Vielen Dank für 'nen richtungsweisenden Tip (oder mehr ;-).
Andreas
Hallo Andreas!
Du musst einfach die Strings miteinander addieren.
Gruß, Jan
Hallo Jan,
Hallo Andreas!
Du musst einfach die Strings miteinander addieren.
Gruß, Jan
Das kann nicht funktionieren.
Bsp.:
document.write("<TITLE >"+kapitel+1+seite[aktseite]+" </TITLE>")
dann wird nämlich folgendes erzeugt
<TITLE> kapitel1seite[aktseite]</TITLE>
statt
<TITLE> Seite24 </TITLE>
weil nämlich in der Variablen kapitel1seite[24]= "Seite 24" drinnsteht.
Gruß
Andreas
Hallo Andreas,
kennt jemand eine Lösung, wie man aus verschiedenen Strings einen Variablennamen erzeugen kann, auf den man auch zugreifen kann (sozusagen indirekte Adressierung).
teste mal das :-)
<script>
kapitel1=8;
a="kap";
b="itel";
alert(self[a+b+1])
</script>
Viele Grüße
Antje
Hallo Antje,
teste mal das :-)
<script>
kapitel1=8;a="kap";
b="itel";alert(self[a+b+1])
das funktioniert, nur wie bekomme ich [aktseite] da mit rein ???
aktseite=1;
a="kap";
b="2";
c="seite[aktseite]";
alert(self[a+b+c])
funktioniert nicht :-(
Fehlermeldung "undefiniert" obwohl in was drinsteht
Gruß
Andreas
Hallo Andreas!
Mir ist zwar jetzt nicht so 100% klar, ob Du es so meinst, aber ich Poste es einfach trotzdem mal. Vielleicht stimmst ja doch.
<script language="JavaScript">
// Deine Variable mit den Inhalt.
var kapitel1Seite = new Array("Hallo 0", "Hallo 1", "Hallo 2");
// Stringvariablen.
aktseite="1";
a="kapitel";
b="1";
c="Seite";
// Bestimmung des Variablennamens und anzeige des Inhalts.
i=(a+b+c);
alert(eval(i)[aktseite]);
</script>
Schöne Grüße,
Sönke.
n'Abend Sönke,
BINGO !!!
Das war es.
ich wußte einfach nicht, wie ich den String zu einem Variablkennamen umwandeln kann. Dein Tip war es. Prima.
Vielen Dank und schönen Abend noch
Andreas
Hi Andreas,
ein Blick in <../../sfausles/tsfa_tca.htm#a2> lohnt sich zusätzlich.
Grüße,
Martin