0

PHPでjQuery変数を埋めることは可能ですか???

私はこのようなことを意味します:

<?php
$string_php = "50%";
?>

そして、「$string」変数を使用して、jQuery を埋めたい:

var jquery_string = "$string_php";
$('.bar1').animate({'height':'jquery_string'},500);

上記のコードは、私がどのように働きたいかという考えにすぎません

4

3 に答える 3

3

はい、ただしphpタグ <?php ?>を使用します(phpがそのコードを認識できるように):

var jquery_string = "<?php echo $string_php;?>";
$('.bar1').animate({'height':jquery_string}, 500); // no quotes for variables

これは、PHP (サーバー側) が jQuery (クライアント側) の前に実行されるため可能です。ページは最初にサーバーに送られ、サーバーは応答 (php コードがそこで解析されます) をブラウザーに返します。

于 2012-06-25T18:49:33.557 に答える
2

もちろん

var jquery_string = "<?php echo $string_php;?>";

PHP は最初にサーバーで処理され、結果がユーザーのブラウザーに送信されるため、これは簡単で、多くの場合行われます。

上記のコードは次のようになります。

var jquery_string = "50%";

ただし、次のように変数から引用符を削除して、2 行目を変更する必要があります。

$('.bar1').animate({'height':jquery_string},500);

引用符を付けておくjquery_stringと、変数が必要なのに対し、強制的に文字列として解釈されるためです。

最終結果は次のようになります。

$('.bar1').animate({'height':'50%'},500);
于 2012-06-25T18:49:52.167 に答える
-1

単純な変数の場合は、ユーザーが言ったとおりに実行します。

F.ex. var jquery_string = "<?php echo $string_php;?>";(@Blasterのソリューションから取得)。言い換えると:

最も簡単な解決策は、変数を定義する場所ならどこでも、echoを介して文字列リテラルとして使用する予定のphp変数を出力することです。

ただし、正しいアプローチは、サーバーサイド変数をJavascript文字列として使用するたびに、エンコードする必要があることです。これは、二重引用符が存在する場合、上記のソリューションが失敗するためです。ここjson_encodeが重宝するかもしれません。

var jquery_string = <?php echo json_encode($var); ?>;

コード例

Javascriptが文字列にアラートを出すようにします"Hey", dude!

$string = "\"Hey\", dude!";
echo "alert(\"" . $string . "\");";

結果:

alert(""Hey", dude!"); <--- will give Javascript error

その代わり:

 echo "alert(" . json_encode($string) . ");";

結果:

alert("\"Hey\", dude!"); <---- correct JS code
于 2012-06-25T18:56:00.113 に答える