9

无论如何我可以在 JQuery 脚本中使用 php 变量吗?

例子:

  • PHP变量:$sr2
  • JQuery 脚本摘录(带变量):$('#a2_bottom_$sr2')

我怎样才能使变量在该 JQuery 部分中有效?

谢谢

4

4 回答 4

10

PHP 运行在服务器上,jquery 运行在客户端。如果您希望 PHP 变量可用于 jquery(以及通过扩展,底层 javascript 引擎),您必须在服务器上输出页面时发送变量的值,例如

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

或通过 AJAX 调用检索值,这意味着您基本上是在创建 Web 服务。

于 2012-05-19T19:41:09.157 回答
9

您可以简单地做的是使用您的 PHP 来回显代码以启动 JavaScript 变量。

<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 可以使用了!因此,您可以像在任何其他情况下一样使用它-

$("div."+phpVariable);

这将检索我们任何<div>具有foo类的元素 -

<div class="foo"></div>
于 2012-05-19T19:43:34.853 回答
5

假设您的 jQuery 在同一个文件中:

... $('#a2_bottom_<?php echo $sr2 ?>') ...
于 2012-05-19T19:41:56.257 回答
5

您可以在脚本标签中将其作为页面的一部分输出......即

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

然后您的 jQuery 行将能够访问它:

$('#a2_bottom_' + sr2)
于 2012-05-19T19:42:23.343 回答