2013-03-30 69 views
0

我想顯示一個隱藏的字段,但只有在下拉列表中選擇了一個選項。選擇哪個選項並不重要,但我需要選擇一個選項。JS顯示字段,如果選擇下拉列表

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

以上,如果選擇了第一項平變化只會工作,所以我不能確定如何使它選定任何項目工作。另外,我知道divShow應該有一些'周圍,但我不知道如何把它寫成以下PHP:

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

股利盒:

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

回答

0

你必須顯示簡單引用以使divShow成爲JS字符串。在PHP(和最常見的語言),你\逃脫他們:

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

如果沒有這些引號,你將JS試圖尋找divShow變量。

+0

謝謝你解決了我一半的困境。你知道我在onChange的divShow後最後需要什麼嗎?我嘗試了一段時間作爲通配符,並沒有幫助。我試圖把1,2,3,4,5也無濟於事。再次感謝你 – Jordan

+0

我真的沒有得到你需要的東西,但是如果你想讓divShow顯示任何其他值而不是空(' - 請選擇--'),你必須滿足以下條件:'sel。 selectedIndex!= 0? 'block':'none''。所以試着通過'0'並反轉條件。 – blint

相關問題