[英]How To Pass PHP Variable To This Javascript Function?
假设我有这个PHP变量:
$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'成为由这两个javascript函数生成的<option>
? 谢谢。
注意#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使用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>
一种方法是回显一些JavaScript语句:
<script>
<?php
echo "
var SelectedCountry = '$SelectedCountry';
var SelectedState = '$SelectedState';
";
?>
</script>
然后在循环中使用它们来检查是否需要选择该选项。
但是,如果你要做很多这样的事情,那么将PHP嵌入到JavaScript中并不是最好的方法。 阅读AJAX和PHP的json_encode()
函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.