2016-04-01 8 views
0

私はこの問題があります。私はjavascriptのPHP変数に変更しますが、私が行かなければならない変数はループ内にあり、もちろん、常に最後の値を渡します!どのように私はその時の変数の値を超えて作ることができますか?これはコードです!javascriptにphp varを渡して、その時点の変数の値をループに入れます

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

はあなたにこのコードであることを確認されている値を取得するには? '$ a ='、 '

+0

であり、インライン表現を使用してください。 – messerbill

答えて

0

変数には異なる名前を使用するか、配列を使用してください。

PHPは、javascriptが実行される前に完全に実行されるため、同じスコープで 'step'が繰り返し宣言されているため、変数 'step'の値を複数回上書きしています。

この変数は、ページのロード時に最後に書き込まれた値を保持します。

ステップごとに異なるボタンがあるページがあると思います。アレイ

を使用して、異なる変数名

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

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

を使用

は、PHPループ

var steps = new Array(); 

の外部アレイは、ループの内側、に要素をプッシュ宣言する配列

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

または

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

その後、

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

はまだすべてのPHPを実行し、渡された変数は常に最後です。配列はすべての値を渡しますが、過去に戻る方法は?大きな問題.... –

+0

PHPは、ページがサーバー側にロードされる前に常に完全に実行されます。ページが読み込まれると、Javascriptがブラウザで実行されます。 –

関連する問題