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";

                } ?>
4

4 回答 4

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]

于 2013-03-28T19:59:00.410 回答
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>
于 2013-03-28T20:15:06.283 回答
0

该数组在 PHP 中将不可$_POSTselect_1索引,但 PHP$_POST将有一个options数组$_POST['options']

于 2013-03-28T19:59:35.383 回答
0

post 数组名称基于表单元素的名称,而不是表单元素的 id。将您的选择元素的名称属性更改为“select_1”,您将获得所需的内容。

于 2013-03-28T20:00:15.450 回答