电子邮件返回数字值而不是名称

时间:2018-08-23 11:07:08

标签: javascript php

我的代码返回的是字段号,而不是汽车品牌的名称:

<select id="marca" name="marca" class="form-control">
    <option value="">Marca</option>
                       <option value="23">Aprillia</option>
                        <option value="1826">Porsche</option>
                        <option value="4131">Saab</option>

我不知道为什么。 我的JavaScript代码是:

<select id="marca" name="marca" class="form-control">
                                <option value="" <?php if($inputMarcaId == "0"): ?>selected<?php endif; ?>>Marca</option>
                                <?php

                                $arguments = array(
                                    'offset'           => '',
                                    'showposts'        => '-1',
                                    's'                => '',
                                    'category'         => '',
                                    'tag'              => '',
                                    'orderby'          => 'menu_order',
                                    'include'          => '',
                                    'exclude'          => '',
                                    'meta_key'         => '',
                                    'meta_value'       => '',
                                    'post_type'        => 'marcas',
                                    'post_mime_type'   => '',
                                    'post_parent'      => '',
                                    'post_status'      => '',
                                    'suppress_filters' => '0'
                                );

                                $marcas = get_posts( $arguments );

                                foreach($marcas as $marca):
                                ?>
                                <option value="<?php echo $marca->ID ?>" <?php if($inputAreaId == $marca->ID): ?>selected<?php endif; ?>><?php echo $marca->post_title; ?></option>
                                <?php                                                                                                                                      
                                endforeach;
                                ?>

我在这里做错什么了吗?

1 个答案:

答案 0 :(得分:4)

  

我的代码返回的是字段号,而不是汽车品牌的名称

这是因为在PHP中,您将每个选项的value属性设置为:

<option value="<?php echo $marca->ID ?>" 

如果在那里需要汽车名称,则应改用$marca->post_title。但是请确保相应地更改代码的其他部分。例如,它用于在下拉菜单中预先选择汽车:

 <?php if($inputAreaId == $marca->ID): ?>selected<?php endif; ?>

话虽如此,这只是对正在发生的事情的解释。如果您需要电子邮件中的汽车名称而不是汽车ID,则在从下拉列表中读取所选汽车时,应阅读“文本”属性而不是“值”。

更改标记以将汽车名称用作值可能需要在下游进行很多更改。因此,最好更改读取下拉菜单的方法。