首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >位置支架为表格下拉选择类型?

位置支架为表格下拉选择类型?
EN

Stack Overflow用户
提问于 2015-04-23 02:24:10
回答 1查看 967关注 0票数 0

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

我正在修改magento模块,在前端添加一些新的输入函数,将其保存到magento数据库中的一个表中。表单可以正确地将信息保存到数据库中,但它总是显示用于列出选项的数组中的第一项。因此,如果用户更改了选项,那么数组将被添加到数据库中。我想添加一个位置持有人,不会被添加到数据库,因此它将提示用户选择一个选项。

这就是所谓的信息:

代码语言:javascript
复制
$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"),
    );

这是用来显示输入字段的内容:

代码语言:javascript
复制
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>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-23 04:03:54

在上面的代码中

代码语言:javascript
复制
<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之前添加默认选项,如下所示

代码语言:javascript
复制
<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>

您可以为此使用任何值和名称。现在,use可以使用javascript来验证它。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29812509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档