这是基于 PHP 的。
是否可以采用这样的数组:
$SELECT_INDUSTRY = array("Medical" => "Specialty", "Dental" => "Specialty", "Pediatrics" => "Specialty");
并将这两个值传递给像这样简单的东西:
<select>
<option value="$SELECT_INDUSTRY[]">$SELECT_INDUSTRY[]</option>
</select>
其中 Medical 是传递的值,而 Specialty 是面向公众的文本。
这是我用来构建实际选择框的函数:
$SELECT_INDUSTRY = array("Medical", "Dental", "Pediatrics");
$FORM_SELECT_SIZE = 'input-min';
function get_options_industry( $arr = array() ) {
global $FORM_SELECT_SIZE;
echo '<div class="control-group"><label class="control-label" for="industry">Industry</label><div class="controls"><select name="industry" id="industry" class="'.$FORM_SELECT_SIZE.'"><option value=>Select an Industry</option>';
foreach( $arr as $option ) {
echo '<option>'.$option.'</option>';
}
echo '</select></div></div>';
}
$FORM_FIELD_INDUSTRY = $SELECT_INDUSTRY;
这就是我显示选择的方式:
<?php get_options_industry( $FORM_FIELD_INDUSTRY ) ?>
我觉得我已经接近了,或者至少在正确的轨道上,只是不知道如何将第一个数组值拉入 value 字段,然后将第二个拉入实际名称。
目标是获取表单中传递的值,与面向公众的名称不同。我意识到我给出的上述数组定义可能不是正确的方法。
解决方案
感谢下面的几个回复,这是解决我的问题的最终答案:
$SELECT_INDUSTRY = array("Medical" => "Medical", "Dental" => "Medical", "Pediatrics" => "Medical");
$FORM_SELECT_SIZE = 'input-min';
function get_options_industry( $arr = array() ) {
global $FORM_SELECT_SIZE;
echo '<div class="control-group"><label class="control-label" for="industry">Industry</label><div class="controls"><select name="industry" id="industry" class="'.$FORM_SELECT_SIZE.'"><option value=>Select an Industry</option>';
foreach( $arr as $key => $value ) {
echo '<option value="'.$value.'">'.$key.'</option>';
}
echo '</select></div></div>';
}
$FORM_FIELD_INDUSTRY = $SELECT_INDUSTRY;
然后我必须确保我的密钥是唯一的,因此不会删除重复项。