2013-03-28 29 views
1

我正在使用Magento並使用自定義選項。我有5個自定義選項,允許用戶選擇項目的條件。我希望下面的一些文字能夠顯示條件在選擇時的含義。根據動態下拉菜單回顯文本

對不起,我對此感到抱歉。我希望在選擇適當的選項時在屏幕上實時更新。

這是我目前的代碼,但它不顯示文本。

<select name="options[1][]" id="select_1" class="multiselect required-entry product-custom-option" title="" onchange="opConfig.reloadPrice()"> 
<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> 

    <?php if($_POST['select_1']=='1'){ 
       echo "Perfect Condition Text"; 

       }elseif($_POST['select_1']=='2'){ 
       echo "Excellent Condition Text"; 

       }elseif($_POST['select_1']=='3'){ 
       echo "Good Condition Text"; 

       }elseif($_POST['select_1']=='4'){ 
       echo "Poor Condition Text"; 

       }elseif($_POST['select_1']=='5'){ 
       echo "Broken Condition Text"; 

       } ?> 
+0

你希望它發生「活」(即沒有提交表單你需要JavaScript來的是,不是PHP – BenM

+0

是的,住你能告訴我?。到一些代碼,這將有助於我與JS很可怕 – Jordan

回答

1

如果要在不刷新頁面的情況下顯示<select>的值,則可以使用javascript或jquery。這裏是JavaScript的一個樣本:

<script language="javascript"> 
function displayCondition() { 
    condition = new Array("", "Perfect", "Excellent", "Good", "Poor", "Broken"); 
    var getsel = document.getElementById('select_1').value; 
    document.getElementById("divId").innerHTML = condition[getsel]; 
} 
</script> 
</head> 
<body> 
<form name="formName"> 
    <select name="options[1][]" id="select_1" class="multiselect required-entry product-custom-option" title="" onchange="displayCondition()"> 
     <option value="0">Select Condition</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> 
    <div id="divId" name="divName" ></div> 
</form> 

</body> 
</html> 
+0

@Jordan上面顯示的實時顯示,我不知道你想如何顯示,所以我把它放在一個'input'字段 – jnthnjns

+0

我想在另一個div中顯示文本。 所以如果選擇完美。 div中的文本將反映預定義文本的完美內容。此外,我不能改變任何選擇區域。它由Magento生成,我目前不確定在哪裏。 – Jordan

+0

我修改了我的答案,但是無法調用此函數,它將無法工作。意思是,唯一需要改變的是'onchange =「displayCondition()」' – jnthnjns

2

更改<select>select_1將解決你的問題:

<select name="select_1" id="select_1" class="multiselect required-entry product-custom-option" title="" onchange="opConfig.reloadPrice()"> 

如果你不能改變名稱出於某種原因,更改$_POST['select_1']$_POST['options'][1][0]

+0

無法更改它,它是由Magento創建的,它動態創建它們 – Jordan

+0

修改了我的答案:) – user1909426

+0

還是什麼都沒有。我需要它來刷新現場。我被告知我需要研究JS來做到這一點。 – Jordan

0

數組不會可在PHP $_POST,select_1索引但PHP $_POST將有一個options陣列$_POST['options']

0

post數組名稱基於表單元素的名稱,而不是表單元素的id。將select元素的name屬性更改爲「select_1」,您將獲得所需的內容。

相關問題