これは PHP に基づいています。
次のような配列を取ることは可能ですか:
$SELECT_INDUSTRY = array("Medical" => "Specialty", "Dental" => "Specialty", "Pediatrics" => "Specialty");
そして、これらの 2 つの値を次のような単純なものに渡します。
<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 ) ?>
最初の配列値を値フィールドに取り込み、次に 2 番目の配列値を実際の名前に取り込む方法がわかりません。
目標は、フォームに渡される値を取得することであり、公開されている名前とは異なります。上記の配列定義は、これを行う正しい方法ではない可能性があることを認識しています。
解決
以下のいくつかの回答のおかげで、これが私の問題を解決するための最終的な回答です。
$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;
次に、重複が消去されないように、キーが一意であることを確認する必要があります。