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

标签 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;
                                ?>

我在这里做错了什么吗?

最佳答案

my code is returning the number of field instead of the name like the brand of the car

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

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

如果您需要那里的汽车名称,您应该使用 $marca->post_title 代替。但请务必相应地更改代码的其他部分。例如,它用于在此处的下拉列表中预先选择汽车:

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

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

更改标记以使用汽车名称作为值可能需要下游进行相当多的更改。因此,更改读取下拉列表的方法可能会更好。

关于javascript - 电子邮件返回数字值而不是名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51984363/

相关文章:

php - 使用 $_SERVER ['document_root' ] 有什么意义?

php - 从午夜到特定日期时间有多少秒

javascript - 类型错误 : Cannot read property 'length' of undefined react

javascript - 如何为数组中的每 6 个项目添加一个升序数字?

javascript - setTimeout 在 JavaScript 中未按预期工作

javascript - 使用更新的数据重新渲染 Handlebars 模板

php - 使用 PHP/SQL 循环的表中的按钮

php - 以 HTML 形式返回 PHP/MySQL 结果以供编辑

php - MySQLi 准备语句给出空白响应

javascript - 使用 jQuery 更改后保留元素的值