Übersetzung PHP --> JS

nietaL

NGBler
Registriert
8 Sep. 2013
Beiträge
231
Ort
Exilgullianer
Hey Leute,

ich weiß, was ich will, aber nicht, wie ich es schreiben muss. Ich zeige euch einfach 'mal in PHP, was ich erreichen will:

[src=php]echo ${'s'.$typ['id']};[/src]

Ich gebe also eine Variable aus, deren Name immer mit "typ" beginnt. Direkt daran schließt sich ein immer ändernder Zahlcode (ausgelesen aus einem Array namens "id"). Also entstehen die Variablennamen z.B.
$s111
$s222
$s333
...

Das möchte ich jetzt mit Javascript erreichen.
Gegeben sind bspw. die Arrays:

[src=javascript]var s111 = new Array('111', 'abc');
var s222 = new Array('222', 'def');[/src]

An eine Funktion wird der Code 111 oder 222 übergeben. Dann folgt die Ausgabe in ein Textfeld:

[src=javascript]document.getElementById("buchstaben").value = 's'+selectedValue[1]];[/src]

Das heißt also: Wenn ich 111 übergebe, soll abc im Textfeld namens "buchstaben" erscheinen.
Anscheinend ist die Syntax von 's'+selectedValue[1]] aber falsch.

Kann mir jemand weiterhelfen. Hab schon so viel ausprobiert.
 
Bist du sicher dass du das so lösen willst/musst? Um "nummerierte" Variablen zu vermeiden gibt es doch Arrays?
Also anstatt s111 einfach s[111] nehmen?
Bei JS kenne ich mich nicht aus, kann aber gut sein dass das gar nicht geht, da mir das irgendwie sehr nach Frickelei vorkommt.
 
  • Thread Starter Thread Starter
  • #3
Re: Übersetzung PHP --> JS

naja die Variablen beinhalten ja selbst schon Arrays. Ich weiß zwar, dass man Arrays in Arrays speichern kann, aber das scheint mir auch nicht einfacher.
Imgrunde genommen benötige ich ja nur die Syntax für dynamische Variablen in JS, so wie ich es in PHP korrekt vorgegeben habe. Denn das funktioniert bereits.

Meine Beispiele sind extrem heruntergebrochen, da sonst niemand mehr durchsieht ;-)

Ich hab ja schon nach der Syntax von dyn. Variablennamen für JS gesucht, aber alle Versuche sind gescheitert. Es kommt immer "undefined". Sie sind abe definitiv definiert. Hab Gegenproben gemacht. Es muss an der Syntax liegen.


EDIT:

Nach dem gefühlten hundertsten Versuch, die Lösung:
[src=javascript]
document.getElementById("buchstaben").value = eval('s' + selectedValue + '[1]');[/src]
 
Zuletzt bearbeitet:
Warum kannst du nicht einfach einen Array nehmen und dort alle Werte rein packen? Was du da machst, mach auch in PHP keinen Sinn.
 
Zurück
Oben