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



我的代码返回字段数,而不是像汽车品牌那样的名称:

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

我在这里做错了什么吗?

我的代码返回字段数而不是像汽车品牌这样的名称

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

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

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

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

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

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

最新更新