Frage auf zusammengesetzteVariablennamen

  • Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Werbung

Jetzt auf elektrisches Fahren umstellen, Umwelt schonen und 1.500km kostenlosen Strom von Tesla bekommen. https://ts.la/carsten15473.

Mim

Neues Mitglied
18 November 2017
3
0
1
59
Ich habe eine Tabelle mit verschiedenen Zeilen Spalten
Alle Felder der Tabelle sind in globalen Variablen "gespiegelt", die gleich heißen wie die ID der entsprechenden Tabellenfelder. Und alle Variablen einer Zeile fangen mit dem selben Buchstaben an. Bsp. var eFzg, eKmStand, eDatum, ...
In einem Eingabeformular erfrage ich den Namen des Fahrzeugs z.B. "eBike" und mit dem ersten Buchstaben "e" möchte ich in javascript auf die Variablen eFzg, eKmStand, ... zugreifen, und zwar lesend wie schreibend.
Ich habe schon herausgefunden, dass
"alert(eval(Buchstabe+'Fzg'));"
den Inhalt von eFzg ausgibt, aber wie verändere ich den Inhalt von "?Fzg" ?
 

Mim

Neues Mitglied
18 November 2017
3
0
1
59
Sorry, Titel sollte sein "Wie auf Variablen mit zusammengesetzten Variablennamen zugreifen"
leider waren die Finger zu dick, ...
 

Sempervivum

Senior HTML'ler
18 Oktober 2016
1.377
273
83
66
eval ist eine Möglichkeit aber in diesem Fall weder zu empfehlen noch notwendig. Alternative: Lege die Variablen in einem Objekt ab, z. B. tabledata, dann kannst Du so darauf zugreifen:
var kmstand = tabledata[buchstabe + 'KmStand'];
var kmstandneu = 500:
tabledata[buchstabe + 'KmStand'] = kmstandneu;
 

Mim

Neues Mitglied
18 November 2017
3
0
1
59
Hallo Sempervivum,

vielen Dank für den Tip, hat wunderbar funktioniert. Ich wußte bislang nichts von derartigen Objekten, war in anderen Foren auf Schreibweisen this[b+"Key"] gestoßen, mit denen ich allerdings nichts anfangen konnte. Jetzt weiß ich wie und warum es geht.

Danke,
Gruß Mim
 
Werbung: