Passer de la matrice de valeurs dans l'option de sélection de champs dans un formulaire?
Ceci est basé en PHP.
Est-il possible de faire un tableau comme ceci:
$SELECT_INDUSTRY = array("Medical" => "Specialty", "Dental" => "Specialty", "Pediatrics" => "Specialty");
Et ont que de transmettre ces deux valeurs dans quelque chose de simple comme ceci:
<select>
<option value="$SELECT_INDUSTRY[]">$SELECT_INDUSTRY[]</option>
</select>
Où Médical serait la valeur transmise, et de Spécialité serait la face du public de texte.
C'est la fonction que j'utilise pour construire le sélectionner des boîtes:
$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;
Et ce est la façon dont je suis l'affichage de la sélection:
<?php get_options_industry( $FORM_FIELD_INDUSTRY ) ?>
Je sens que je suis proche, ou au moins sur la bonne voie, ne peuvent tout simplement pas comprendre comment tirer le premier tableau de la valeur dans le champ valeur, puis la seconde dans le nom réel.
Le but est d'obtenir la valeur transmise dans le formulaire, est différent de celui du public face à le nom. Je me rends compte que le tableau ci-dessus la définition que j'ai donné peut ne pas être la bonne façon de le faire.
SOLUTION
Grâce à un couple de réponse ci-dessous, voici la dernière réponse à résoudre mon problème:
$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;
J'ai ensuite assurez-vous que ma clé est unique donc pas de doublons sont effacées.
Vous devez vous connecter pour publier un commentaire.
Comment à ce sujet?
'echo '<option value="'. $option->item1 .' '. $option->item2 .'">'. $key .'</option>';'
? Si non, alors, que dois-je faire dans ce cas..?$option
est en fait un objet avec les propriétés. Tout devrait fonctionner parfaitement.Exemple rapide...
Vous pouvez inverser touche $et $valeur selon ce que vous voulez affiché comme du texte et que vous souhaitez passé comme valeur. La façon dont j'ai affiché dans mon exemple fait le plus de sens pour moi.
celui-ci fonctionne très bien