2012-10-03 178 views
0

可能重複:
How to access PHP variables in JavaScript or jQuery rather than <?php echo $variable ?>傳遞一個PHP變量到jQuery的

這可能已被覆蓋,但我不知道是否有可能一個PHP變量傳遞給jQuery選擇。

我有一個名爲$ tDate變量,我希望能夠在這段代碼中使用它:

$('$tDate').backstretch([ 
      "pot-holder.jpg", 
      "coffee.jpg", 
      "dome.jpg" 
     ], { 
      fade: 750, 
      duration: 4000 
     }); 
+0

雖然已經涵蓋此問題:http://stackoverflow.com/questions/1808108/how-to-access-php-variables-in-javascript-or-jquery-rather-than-php-echo-vari –

回答

2
$('<?PHP echo $tDate; ?>').backstretch([ 
     "pot-holder.jpg", 
     "coffee.jpg", 
     "dome.jpg" 
    ], { 
     fade: 750, 
     duration: 4000 
    }); 
+4

值得一提的文件名所需的PHP擴展名? – Undefined

+2

好處是,你不能在.js文件中做到這一點(除非你將.js設置爲PHP解釋文件)。這需要位於.PHP文件中。 –

0
<?php $tDate = "varXYZ";?> 
    $('$<?php echo $tDate; ?>').backstretch([ 
     "pot-holder.jpg", 
     "coffee.jpg", 
     "dome.jpg" 
    ], { 
     fade: 750, 
     duration: 4000 
    }); 
3

我會建議保持你的JavaScript作爲單獨的儘量.js文件。但是你可以在你的PHP生成的HTML設置Javascript變量,就像這樣:

<html> 
    <head> 
    <title>PHP variables to Javascript</title> 
    <script type="text/javascript"> 
    var myVar = <?php echo $myVar; ?>; 
    </script> 
    <!-- you can use that variable in your .js files 
     that are loaded after setting the variable --> 
    <script src="/javascripts/myjavascript.js"></script> 

    </head> 
    <body> 
    <h1>Passing php variables to javascript</h1> 
    </body> 
    </html> 

而JavaScript可以使用這個變量,像這樣:

// I assume myVar is a string 
$(myVar).backstretch 
... 

看上去不錯,整潔這種方式給我。我不喜歡用服務器端代碼混淆我的客戶端代碼。如果將來你的PHP變量發生混亂,你可以很容易地檢測到它,因爲它會在變量上拋出一個異常,而不是jQuery阻止不可讀的錯誤。