Select champ, afficher valeur dans textbox

Résolu/Fermé
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 24 oct. 2017 à 12:19
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 - 24 oct. 2017 à 17:46
Bonjour à tous !

Le titre de ma question est un peu bizarre j'avoue... mais voilà, j'ai un SELECT qui récupère les "Libelle" de ma table et je voudrais que si je clique ou défile dans ce SELECT, une zone de texte affiche la valeur "Code" du SELECT.

<input type="text" name="Fr_Code" id="Fr_Code" value="" />

<select name="Fr_Libelle" id="Fr_Libelle">
        <?php $Stat = $pdo->query("SELECT * FROM tb_fr_produits GROUP BY Libelle ORDER BY Libelle ASC;"); while($data = $Stat->fetch(PDO::FETCH_ASSOC)){ ?>
        <option value="<?php echo $data["Libelle"]; ?>"><?php echo $data["Libelle"]; ?></option>
        <?php ;} ?>
      </select>


Merci de votre aide !

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
24 oct. 2017 à 12:32
Salut,

En javascript, en ajoutant une fonction sur l'événement "onchange" du select afin d'en récupérer la valeur et la copier dans l'attribut value de l'input type text :
document.getElementById('Fr_Libelle').addEventListener('change', function() {
  document.getElementById('Fr_Code').value = this.options[this.selectedIndex].value;
});


Bonne journée,
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
24 oct. 2017 à 12:43
Merci Pitet,

Il copie le même libellé dans la zone de texte au lieu de son code...

Voici un exemple de données :
Si je choisis "SAVON FAIT MAISON FRAISE 180g" dans mon Fr_Libelle, j'aurais "SAMFRZ18" dans mon Fr_Code


Le code est enregistré dans la table.
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié le 24 oct. 2017 à 14:43
Dans ce cas, affiche le code dans l'attribut value de la balise option à la place d'afficher le libellé :
<option value="<?php echo $data["code"]; ?>"><?php echo $data["Libelle"]; ?></option>
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
24 oct. 2017 à 15:03
Merci Pitet, j'y ai pensé mais bon, je vais devoir sélectionner deux fois donc pour enregistrer et le code et le libellé.

Sauf s'il y a un autre moyen...
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
24 oct. 2017 à 15:13
Ou faire une jointure pour récupérer le code et le libellé en une seule requête select ;)
0
Sinistrus Messages postés 1017 Date d'inscription mercredi 12 décembre 2007 Statut Membre Dernière intervention 6 juin 2023 17
24 oct. 2017 à 17:46
Problème résolu, merci Pitet pour ton aide !
0