Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将php变量传递给javascript_Php_Javascript - Fatal编程技术网

如何将php变量传递给javascript

如何将php变量传递给javascript,php,javascript,Php,Javascript,我有一个动态下拉列表。这将填充第二个下拉列表。当我使用一个php变量进行测试时更改选择时,我的javascript没有使用变量。我是新来的 Javascript: <script type="text/javascript"> function populate(s1,s2){ var s1 = document.getElementById(s1); var s2 = document.getElementById(s2); s2.innerHTML = ""; if(s1.val

我有一个动态下拉列表。这将填充第二个下拉列表。当我使用一个php变量进行测试时更改选择时,我的javascript没有使用变量。我是新来的

Javascript:

<script type="text/javascript">
function populate(s1,s2){
var s1 = document.getElementById(s1);
var s2 = document.getElementById(s2);
s2.innerHTML = "";
if(s1.value=="<?php echo $car; ?>"){
var optionArray=[" ","camero Camaro","convette Convette"];
} else
if(s1.value=="Dodge"){
var optionArray=[" ","avanger Avanger","challenger Challenger"];
} else if(s1.value=="Ford"){
var optionArray=[" ","mustang Mustang","fiesta Fiesta"];
}
for (var option in optionArray){
var pair = optionArray[option].split(" ");
var newOption = document.createElement("option");
newOption.value = pair[0];
newOption.innerHTML = pair[1];
s2.options.add(newOption);
}
}
</script>

函数填充(s1、s2){
var s1=document.getElementById(s1);
var s2=document.getElementById(s2);
s2.innerHTML=“”;
如果(s1.value==“”){
变量optionArray=[“”、“camero Camaro”、“convette convette”];
}否则
如果(s1.值==“减淡”){
var optionArray=[“”、“avanger avanger”、“challenger challenger”];
}否则,如果(s1.值==“福特”){
var optionArray=[“”、“野马”、“嘉年华”];
}
for(optionArray中的var选项){
var pair=optionArray[option]。拆分(“”);
var newOption=document.createElement(“选项”);
newOption.value=pair[0];
newOption.innerHTML=pair[1];
s2.选项。添加(新选项);
}
}
PHP文件:

<select name="slct1" id="slct1" onchange="populate(this.id,'slct2')">

<option value=""></option>
<option value="<?php $car = 'Chevy';echo $car; ?>">Chevy</option>
<option value="Dodge">Dodge</option>
<option value="Ford">Ford</option>
</select>
<hr />
<select id="slct2" name="slct2">
</select>
<hr />


这是因为您分配了一个变量

您需要打印它

if(s1.value==“”){
将被解析并添加$car的值

<option value="<?php $car = 'Chevy'; ?>">Chevy</option>

如果显示的javascript代码位于*.js文件中,则php不会解析其中的内联php

我无法判断这是您遇到的问题还是更深层次的问题。当javascript发送到您的浏览器时,第6行看起来像:

if(s1.value=="<?php echo $car; ?>"){

如果它看起来像第一个,但您希望它看起来像第二个,那么您需要将javascript放在php文件中,以便它能够访问您的变量。

问题在于这一行

if(s1.value=="<?php echo $car; ?>"){ 

为什么不在js中分配一个变量呢..比如说
var foo=
,这意味着你可以
if(var.value==foo){}
@saiyan101嗨,我试图发布我的答案,但出现了一些错误。不过,请检查我为你创建的这个示例..你可以使用jquery轻松地获得结果。
if(s1.value==“”){
如果以后使用$car='Chevy',则将为空。如果(s1.value==“”),则将为

<option value="<?php $car = 'Chevy'; echo $car; ?>">Chevy</option>
if(s1.value=="<?php echo $car; ?>"){
if(s1.value=="<?php echo $car; ?>"){
if(s1.value=="Chevy"){
if(s1.value=="<?php echo $car; ?>"){ 
<input id="hidden_field" name="hidden_field" type="hidden" value="<?php echo $car;?>" />
var hidden_Value = document.getElementById('hidden_field').value;
if(s1.value==hidden_Value ){