基于动态下拉菜单的回声文本

时间:2013-03-28 19:55:56

标签: php html forms

我正在使用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 个答案:

答案 0 :(得分: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]

答案 1 :(得分: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>

答案 2 :(得分:0)

$_POST索引不会在PHP select_1中使用该数组,但PHP $_POST将会有options数组$_POST['options']

答案 3 :(得分:0)

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