0

非表示フィールドを表示したいのですが、ドロップダウンでオプションが選択されている場合のみです。どのオプションを選択してもかまいませんが、選択する必要があります。

Javascript:

    <script type="text/javascript">
function Select(sel,id,nu){
document.getElementById(id).style.display=sel.selectedIndex==nu?'block':'none';
}
</script>

選択:

    <select name="options[1]" id="select_1" 
class=" required-entry product-custom-option" 
title="" onchange="opConfig.reloadPrice();displayCondition();Select(this,divShow,1)">
<option value="" >-- Please Select --</option>
<option value="1"  price="0" >Perfect </option>
<option value="2"  price="-35" >Excellent </option>
<option value="3"  price="-105" >Good </option>
<option value="4"  price="-140" >Poor </option>
<option value="5"  price="-252" >Broken </option>
</select> 

上記の onchange は、最初のアイテムが選択されている場合にのみ機能するため、選択したアイテムに対して機能させる方法がわかりません。また、divShow の前後に ' が必要であることはわかっていますが、次の php に書き込む方法がわかりません。

    $extraParams .= ' onchange="opConfig.reloadPrice();displayCondition();Select(this,'."divShow".',1)"';

分割ボックス:

    <div id="divShow" style="display:none;">
<?php echo $this->getPriceHtml($_product) ?></div>
4

1 に答える 1

0

divShowJS 文字列を作成するには、単純な引用符を表示する必要があります。PHP (およびほとんどの一般的な言語) では、次のようにエスケープします\

$extraParams .= ' onchange="opConfig.reloadPrice();displayCondition();Select(this,\'divShow\',1)"';

これらの引用符がないと、JS はdivShow変数を検索しようとします。

于 2013-03-30T00:22:42.220 に答える