我有一个名为$categories的简单PHP数组,如下所示:
Array
(
[Closed] => P1000
[Open] => P1001
[Pending] => P1002
[In Progress] => P1003
[Requires Approval] => P1004
)
我有一个简单的HTML表单,其中包含一个字段的下拉列表,我希望将该数组用于选项,但是我只希望它显示文本(例如,已关闭,打开,待处理,正在进行和需要Approval)作为下拉列表中的选项,但存储该选项的关联键(例如P1000,P1001等),然后在提交表单时将其作为POST值发送.
到目前为止,表单字段的HTML是:
<select name="category_id">
<option value=""></option>
<?PHP foreach($categories as $category) {$category = htmlspecialchars($category);?>
<option value="<?PHP echo $category; ?>"><?PHP echo $category; ?></option>
<?PHP
}
?>
</select>
我可以让它显示文本或ID,但不显示文本并存储ID.希望这很简单,有人可以指出我正确的方向.
非常感谢,
史蒂夫
解决方法:
你已经忘记了$value标签.您将类别名称粘贴两次,而不是值.你应该这样做:
<select name="category_id">
<option value=""></option>
<?PHP
# !vCHANGEv!
foreach($categories as $category => $value)
{
$category = htmlspecialchars($category);
echo '<option value="'. $value .'">'. $category .'</option>';
}
?>
</select>