2

動的ドロップダウンがあります。これが 2 番目のドロップダウンに入力されます。1 つの 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 />
4

5 に答える 5

2

変数を代入するからです<?php $car = 'Chevy'; ?>

印刷する<?php echo 'Chevy'; ?>か、 <?php echo $car; ?>

于 2013-03-16T18:10:30.710 に答える
0

問題はこの行にあります

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

htmlの隠しinputタグを使ってみる

<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 ){ 
于 2013-06-14T16:00:00.587 に答える
0

表示する JavaScript コードが *.js ファイルにある場合、その中のインライン php は php によって解析されません。

それがあなたが抱えている問題なのか、それとももっと深い問題なのか、私にはわかりません。JavaScript がブラウザに送信されると、6 行目は次のようになります。

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

また

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

最初のもののように見えるが、2番目のもののように見せたい場合は、javascriptをphpファイルに入れて、変数にアクセスできるようにする必要があります。

于 2013-03-16T20:52:35.523 に答える
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 = 'Chevy'; を追加します。その上

于 2013-03-16T18:26:33.863 に答える
0
<option value="<?='Chevy'?>">Chevy</option>
于 2013-03-16T18:13:30.427 に答える