如何将我的PHP变量传递给javascript

时间:2013-03-16 18:07:06

标签: 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.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>

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 />

5 个答案:

答案 0 :(得分:3)

这是因为您指定了变量<?php $car = 'Chevy'; ?>

您需要打印<?php echo 'Chevy'; ?><?php echo $car; ?>

答案 1 :(得分:0)

<option value="<?='Chevy'?>">Chevy</option>

答案 2 :(得分:0)

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

将被解析,并且将添加$ car的值。

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

将其替换为

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

记得给$ car分配一些东西。 正如我上面所说,

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

将被解析,添加$ car ='雪佛兰';在它之上

答案 3 :(得分:0)

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

我不知道这是你遇到的问题还是更深层次的问题。当javascript被发送到您的浏览器时,第6行看起来像:

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

if(s1.value=="Chevy"){

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

答案 4 :(得分:0)

问题在于这一行

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

尝试使用html的隐藏输入标记

<input id="hidden_field" name="hidden_field" type="hidden" value="<?php echo $car;?>" />

并在Javascript中

var hidden_Value = document.getElementById('hidden_field').value;
if(s1.value==hidden_Value ){