Php 表格的位置保持架下拉列表选择类型?

Php 表格的位置保持架下拉列表选择类型?,php,mysql,forms,magento,Php,Mysql,Forms,Magento,如何添加请选择一个选项作为表单下拉选择框中显示的默认选项 我正在修改magento模块,在前端添加一些新的输入恶魔,将其保存到magento数据库的表中。表单可以正确地将信息保存到数据库中,但它始终显示用于列出选项的数组中的第一项。因此,如果用户不更改该选项,则会将数组[0]添加到数据库中。我想添加一个不会添加到数据库中的占位符,因此它会提示用户选择一个选项 这就是所谓的信息: $fields[] = array( 'name' => 'vehicle_make',

如何添加请选择一个选项作为表单下拉选择框中显示的默认选项

我正在修改magento模块,在前端添加一些新的输入恶魔,将其保存到magento数据库的表中。表单可以正确地将信息保存到数据库中,但它始终显示用于列出选项的数组中的第一项。因此,如果用户不更改该选项,则会将数组[0]添加到数据库中。我想添加一个不会添加到数据库中的占位符,因此它会提示用户选择一个选项

这就是所谓的信息:

$fields[] = array(
        'name'     => 'vehicle_make',
        'label'    => Mage::helper('sublogin')->__('Make'),
        'required' => true,
        'type'     => 'select',
        'style'    => 'width:100px',
        'cssclass' => '',
        'options'  => array ("Acura", "Alfa Romeo","Audi", "BMW", "Buickm", "Cadillac", "Chevrolet", "Chrysler", "Dodge", "FIAT", "Ford", "GMC", "Honda", "Hyundai", "Infiniti", "Jaguar", "Jeep", "Kia", "Land Rover", "Lexus", "Lincoln", "Maserati", "Mazda", "Mercedes-Benz", "MINI", "Mitsubishi", "Nissan", "Porsche", "Ram", "Scion", "Smart", "Subaru", "Suzuki", "Toyota", "Volkswagen", "Volvo", "Yamaha"),
    );
这是用于显示输入字段的内容:

if ($formField['type'] == 'select' || $formField['type'] == 'multiselect')
                    {
                        $selectedOptions = $sublogin->getData($formField['name']);
                        $selectedOptions = explode(',', $selectedOptions);
                        ?>
                        <select 
                            <?php echo ($formField['type'] == 'multiselect')?"multiple=multiple":""; ?> 
                            id="<?php echo $formField['name'] ?>" 
                            name="<?php echo ($formField['type'] == 'multiselect')? $formField['name'].'[]':$formField['name'] ?>">
                        <?php foreach ($formField['options'] as $optionValue => $optionLabel) {
                            $selected = '';
                            if (in_array($optionValue, $selectedOptions))
                                $selected = 'selected';                             

                            echo '<option '.$selected.' value="'.$optionValue.'">'.$optionLabel.'</option>';
                        } ?>
                        </select>
在上面的代码中

<select 
                            <?php echo ($formField['type'] == 'multiselect')?"multiple=multiple":""; ?> 
                            id="<?php echo $formField['name'] ?>" 
                            name="<?php echo ($formField['type'] == 'multiselect')? $formField['name'].'[]':$formField['name'] ?>">
                        <?php foreach ($formField['options'] as $optionValue => $optionLabel) {
                            $selected = '';
                            if (in_array($optionValue, $selectedOptions))
                                $selected = 'selected';                             

                            echo '<option '.$selected.' value="'.$optionValue.'">'.$optionLabel.'</option>';
                        } ?>
                        </select>
在foreach之前添加默认选项,如下所示

<select 
                            <?php echo ($formField['type'] == 'multiselect')?"multiple=multiple":""; ?> 
                            id="<?php echo $formField['name'] ?>" 
                            name="<?php echo ($formField['type'] == 'multiselect')? $formField['name'].'[]':$formField['name'] ?>">
//added this line of code
                            <option name="please-select" value="100">Please select an option</option>
                        <?php foreach ($formField['options'] as $optionValue => $optionLabel) {
                            $selected = '';
                            if (in_array($optionValue, $selectedOptions))
                                $selected = 'selected';                             

                            echo '<option '.$selected.' value="'.$optionValue.'">'.$optionLabel.'</option>';
                        } ?>
                        </select>
您可以为此使用任何值和名称。现在可以使用javascript来验证它


希望这能有所帮助。

你问了一个关于选择的问题,但你提供了输入的代码?@Sean,但它不被视为选择输入字段吗?我确实在显示的第一个代码中犯了错误,现在更正。对于选择框,您只需将下拉列表的第一项作为选择选项。如果您想选择一个选项作为默认值/第一个值,您是否尝试将其添加到您的代码-“选项”=>数组请选择一个选项,Acura,Alfa Romeo,…?@Sean我确信该方法将使其显示为默认选项,但它没有达到我的要求。如果我只是将其放入数组,这意味着它将像其他任何选项一样将其保存到数据库中。我希望它像一个空的占位符,所以如果用户没有选择它支持的选项,那么这个字段是必需的,请选择一个选项。