2016-04-01 1 views
0

Ich habe dieses Problem. Ich ändere zu einer Javascript-PHP-Variable, aber die Variable, die ich gehen muss, ist innerhalb einer Schleife, und natürlich übergibt es immer den letzten Wert! Wie kann ich erreichen, dass der Wert der Variablen zu diesem Zeitpunkt überschritten wurde? das ist der Code!Übergeben Sie eine PHP Var zu JavaScript mit dem Wert der Variablen zu der Zeit in einer Schleife

for ($ a = 0 ; $ a < 2 ; $ a = $ a + 1) { 
? > 
<TD> 
<Script> 
var step = " name < ? php echo $ rigauno- ? > ; ? > " ; 
</Script > 
< Button type = "button " onclick = " funzionepassaggio (step) " class = " btn btn btn -info - lg " data- Toggle = " modal " data- target = " # ModalSubmit " > < ? Php echo " empty " ? ; ? > </Button > 
</TD > 
< ? Php } ? > 
+0

sind Sie sicher, dass dies der Code? Es gibt eine Menge Leerzeichen da draußen, die nicht sein sollten. '$ a =', '

+0

und bitte Leute - STOP mit Inline-Ausdrücken! – messerbill

Antwort

0

Verwenden verschiedene Namen für die Variablen oder eines Arrays verwenden.

Die PHP wird vollständig ausgeführt, bevor Javascript ausgeführt wird. Wenn also "Schritt" wiederholt im selben Bereich deklariert wird, überschreiben Sie den Wert der Variablen "step" mehrmals.

Diese Variable enthält immer den letzten geschriebenen Wert, wenn die Seite geladen wird.

Ich stelle mir vor, Sie haben eine Seite mit einer anderen Taste für jeden Schritt.

Verwendung verschiedene Variablennamen

var step<?php echo $a; ?> = //yourvalue 

<Button type="button" onclick="funzionepassaggio(step<?php echo $a; ?>)" /> 

einen Array

erklären das Array außerhalb des PHP-loop

var steps = new Array(); 

dann in der Schleife, Schubelemente in die Array

steps.push(<?php echo $a; ?>); 

oder

steps[<?php echo $a; ?>] = <?php echo $a; ?>; 

dann den Wert abzurufen

<Button type="button" onclick="funzionepassaggio(step[<?php echo $a; ?>])" /> 
+0

immer noch alle PHP und übergebene Variable ist immer die letzte. Mit einem Array übergibt alle Werte, aber wie geht es zurück in die Vergangenheit? Ein großes Problem .... –

+0

Die PHP wird immer vollständig bis zum Ende laufen, bevor die Seite auf der Serverseite geladen wird. Sobald die Seite geladen ist, wird das Javascript im Browser ausgeführt. –

Verwandte Themen