2012-05-19 26 views
6

とにかくJQueryスクリプトでphp変数を使用できますか?JQueryでPHP変数を使用する

例:

  • PHPの変数:(変数付き)jQueryのスクリプトの$sr2
  • 抜粋:$('#a2_bottom_$sr2')

どのように私はそれがそう変数はそのjQueryの部分に有効であることができますか?

+3

- 私たちにfooクラスを持つ<div>要素を取得します

$("div."+phpVariable); 

? PHPファイル内または別の.jsファイル内にありますか? –

+0

json_encodeのPHP –

答えて

8

あなたが単純に行うことができるのは、コードをエコーし​​てJavaを起動することですスクリプト変数。

<script type="text/javascript"> 
<?php 

    $phpVar = "foo"; 
    echo "var phpVariable = '{$phpVar}';"; 

?> 
</script> 

PHPコードが解析され、HTMLがユーザーに送信されると - 彼らが表示されますすべてはPHPのエコーの結果である -

<script type="text/javascript"> 
    var phpVariable = 'foo'; 
</script> 

今すぐあなたのphpVariableがあなたのJavaScriptに提供されています!だから、他の場合にはあなたのようなことを考え使用 - あなたのjQueryのコードが配置されている

<div class="foo"></div> 
+0

これは本当に古いですが、今ではコードにエラーがあります "Uncaught SyntaxError:予期しないトークン<" –

+0

@IrtzaShahan - これは、変数をJavaScriptに挿入する際に間違いがあったことを意味します。ページにエコーする最終結果が通常のjavascriptのように見えるように、引用符でPHP変数をラップするようにしてください。ブラウザでは、作成したjavascript値を読み込んで使用する必要があります。 – Lix

9

PHPはサーバー上で実行さ

おかげで、jqueryのは、クライアント上で実行されます。 PHP変数をjquery(拡張子、基本的なjavascriptエンジン)で使用できるようにするには、サーバー上にページを出力するときに変数の値を送信するか、

<script type="text/javascript"> 
    var my_php_var = <?php echo json_encode($the_php_var) ?>; 
</script> 

のいずれかの値を取得するか、AJAX呼び出しで値を取得します。つまり、基本的にWebサービスを作成しています。

+3

+1と同じファイルにあります。変数をJSコードとして出力することについて議論するなら、それを避ける方法を話し合ってください:) – Kato

2

あなたのjQueryが同じファイルであると仮定すると:

... $('#a2_bottom_<?php echo $sr2 ?>') ... 
+0

はうまくいきます。 '$ sr2'に引用文字、スペースなどが含まれていない限り、重要です。 – Spudley

+1

しかし、とにかくそれらの文字を含むことはできません。 –

+0

'$ sr2'変数に事故や意図的なハック攻撃があってもそれらの文字が含まれていると、jQueryコードの行が無効になります。少なくとも、有効な構文を確認するには 'json_encode()'を使用しますが、この場合は、スペースを取り除くなどのさらなる検証が必要になることがあります。 – Spudley

5

あなたは可能性がスクリプトタグ内のページの一部として出力することを...すなわち

<script type="text/javascript"> 
<?php 
echo "var sr2 = \"" . $sr2 . "\""; 
?> 
</script> 

その後、あなたのjQueryの行は次のようになりそれにアクセスすることができます:

$('#a2_bottom_' + sr2) 
+1

安全のために変数をエコーするときに 'json_encode javascriptが、基本的にこれは正解です。 – Spudley

関連する問題