2012-11-15 60 views
0

比方說,我有這樣的PHP變量:如何將PHP變量傳遞給此Javascript函數?

$SelectedCountry = "USA"; 
$SelectedState = "Texas"; 
,另一方面

,我有這個JavaScript函數來顯示所有可用的國家,並指出:

function print_country(country_id){ 
    // given the id of the <select> tag as function argument, it inserts <option> tags 
    var option_str = document.getElementById(country_id); 
    option_str.length=0; 
    option_str.options[0] = new Option('Where do you live now?',''); 
    option_str.selectedIndex = 0; 
    for (var i=0; i<country_arr.length; i++) { 
     option_str.options[option_str.length] = new Option(country_arr[i],country_arr[i]); 
    } 
} 

function print_state(state_id, state_index){ 
    var option_str = document.getElementById(state_id); 
    option_str.length=0; // Fixed by Julian Woods 
    option_str.options[0] = new Option('Select state',''); 
    option_str.selectedIndex = 0; 
    var state_arr = s_a[state_index].split("|"); 
    for (var i=0; i<state_arr.length; i++) { 
     option_str.options[option_str.length] = new Option(state_arr[i],state_arr[i]); 
    } 
} 

我的問題是如何...使'USA'和'Texas'成爲<option>這兩個javascript函數生成的?謝謝。

注1:你可以在這裏看到的JavaScript的完整代碼:http://sourceforge.net/projects/countries/files/

注2:那些加入這一行對我的PHP調用的函數:

<script type="text/javascript" src="scripts/countries.js"></script> 
<script language="javascript">print_country("country");</script> 

所以基本上我需要你幫助如何傳遞這個PHP變量,以便它可以通過javascript函數INSIDE那個'received'來接收countries.js文件。

回答

1

有兩個答案:

1使用AJAX CAL和JSON

$.ajax({ 
    url: '/myScript.php', 
    success: function(data) { 
     //Do something 
    } 
}); 

myScript.php

return json_encode($myVar); 

2嵌入PHP傳回的JavaScript

<script> 
    var myPHPVariable = <?php echo $myVar; ?> 
</script> 
+0

兄弟,我很有興趣與你的第二個答案。因爲我不會做AJAX或JSON。但是,這些javascript功能不是我的。我不知道如何修改該JavaScript,以便它可以識別PHP變量並按預期顯示所選國家。我真的很感激,如果你可以給我的JavaScript修改的例子。多謝兄弟。 –

+0

因此,爲了能夠嵌入PHP變量,你的javascript應該放在一個PHP文件中,例如在'index.php'中用''包裝並且使用PHP裏面的變種。 – infinity

+0

兄弟,我的意思是這個......兩個javascript函數:'print_country(country_id)'和'function print_state(state_id,state_index)'是產生'

1

一種方法是隻迴應ou T買來的JavaScript語句:

<script> 
<?php 
    echo " 
      var SelectedCountry = '$SelectedCountry'; 
      var SelectedState = '$SelectedState'; 
    "; 
?> 
</script> 

然後,只需使用它們在你的循環,以檢查是否選擇需要選擇與否。

如果你打算做了很多這樣的事情,不過,嵌入PHP到JavaScript並不是真正的最好的辦法。閱讀AJAX和PHP的json_encode()函數。

相關問題