如果选择了下拉列表,则JS显示字段

时间:2013-03-30 00:12:47

标签: php javascript html magento

我想显示一个隐藏字段,但只有在下拉列表中选择了一个选项时才会显示。选择哪个选项并不重要,但我需要选择一个。

使用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 Box:

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

1 个答案:

答案 0 :(得分:0)

您必须显示简单引用以使divShow成为JS字符串。在PHP(以及大多数常见语言)中,您可以使用\

来转义它们
$extraParams .= ' onchange="opConfig.reloadPrice();displayCondition();Select(this,\'divShow\',1)"';

如果没有这些引号,您的JS会尝试查找divShow变量。