2012-11-15 3 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]); 
    } 
} 

мой вопрос ... как сделать «США» и «Техас» выбран <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, что файл countries.js.

ответ

1

Есть два ответа:

1 Использование AJAX кал и передать обратно 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

bro, мне интересен ваш второй ответ. потому что я не делаю AJAX или JSON. но эта функция javascript не моя. Я не знаю, как изменить этот javascript, чтобы он мог распознавать переменные PHP и отображать выбранную страну, как ожидалось. Я очень благодарен, если вы можете дать мне пример изменения javascript. Спасибо брат. –

+0

Чтобы иметь возможность встраивать переменную PHP, ваш javascript должен быть в файле PHP, например, в 'index.php', оберните его' 'script language =" javascript "> // Ваш код здесь' и чем использовать PHP внутри. – infinity

+0

bro, что я имею в виду, это две функции javascript: 'function print_country (country_id)' и 'function print_state (state_id, state_index)' - это функции для генерации '

1

Один из способов - просто эхо вне сома e Операторы JavaScript:

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

Затем просто используйте их в своих циклах, чтобы проверить, нужно ли выбрать этот параметр.

Если вы собираетесь делать много такого, все же, внедрение PHP в JavaScript на самом деле не самый лучший подход. Читайте на функции AJAX и PHP json_encode().

Смежные вопросы