1

这是基于 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;

然后我必须确保我的密钥是唯一的,因此不会删除重复项。

4

3 回答 3

3

这个怎么样?

$SELECT_INDUSTRY = array("Medical" => "Specialty", "Dental" => "Specialty", "Pediatrics" => "Specialty");

.... other stuff you already have ....

foreach( $arr as $val => $option ) {
    echo '<option value="'.$val.'">'.$option.'</option>';
}
于 2012-07-11T22:58:33.557 回答
1

快速示例...

$SELECT_INDUSTRY = array("Medical" => "Specialty", "Dental" => "Specialty", "Pediatrics" => "Specialty");

echo '<select>';    
foreach ($SELECT_INDUSTRY as $key => $value) {
    echo '<option value="' . $value . '">' . $key . '</option>';
}
echo '</select>';

您可以反转 $key 和 $value ,具体取决于您希望将哪个显示为文本以及您希望将哪个作为值传递。我在示例中显示它的方式对我来说最有意义。

于 2012-07-11T23:00:42.900 回答
0

这个工作正常

$SELECT_INDUSTRY = array("Medical", "Specialty", "Dental", "Specialty", "Pediatrics", "Specialty");

echo '<select>';    
foreach ($SELECT_INDUSTRY as $key => $value) {
    echo '<option value="' . $value . '">' . $key . '</option>';
}
echo '</select>';
于 2017-05-30T10:59:51.020 回答