IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

React Discussion :

Initialiser un SELECT multiple avec deux valeurs


Sujet :

React

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2020
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2020
    Messages : 277
    Points : 115
    Points
    115
    Par défaut Initialiser un SELECT multiple avec deux valeurs
    Bonjour,

    je ne sais pas si le problème vient de react ou du html , donc je poste sur le forum react !
    En m'inspirant de ce modèle, j'ai crée un champ select multiple en react:
    Code javsacript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <select value={this.props.multiple ? this.state.selectOptions : this.state.type } 
                            onChange={this.handleChange} 
                            id={this.props.tableName} 
                            className="w-50" 
                            multiple={this.props.multiple}>
                        {this.state.options.map( (value,key) => {
                            return <option key={key} value={value[0]}>{value[1]}</option>
                            })}
                    </select>

    qui fonctionne "presque comme il faut".

    je m'en sers dans un formulaire pour enregistrer des données et tout se passe bien: le selectOtions est vide
    Mais je m'en sers aussi pour modifier des données: le formulaire est initalisé avec les données récupérées après une requête.
    Du coup, il est censé afficher ( en grisé ) ce qui est déjà dans la BDD: mon selectOptions contient des données.

    Ces données sont sous forme de tableau (j'ai cru comprendre que ça fonctionnait comme ça).
    si ce tableau contient seulement un élément, tout va bien l'option correspondante s'affiche en gris.
    Mais si j'ai plusieurs éléments dans le tableau alors rien n'est grisé.
    Je commence à tourner en rond...

    Si vous avez une idée pour me faire avancer, je vous remercie,

    Laurent

  2. #2
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    hello,

    Tu récuperes un tableau de tableaux dans state.options ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {this.state.options.map( (value,key) => {
                            return <option key={key} value={value[0]}>{value[1]}</option>
                            })}
    Tu peux nous mettre le composant en entier ?
    Que contient state.selectOptions ? un tableau de tableau aussi ?

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/12/2014, 16h19
  2. select multiple avec enctype="multipart/form-data
    Par Tail dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 24/01/2007, 12h59
  3. Réponses: 8
    Dernier message: 31/05/2006, 12h10
  4. Requête d'insertion multiple avec 1 valeur fixe
    Par [DreaMs] dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/12/2005, 10h28
  5. [Excel] Selection multiple avec critères
    Par tibotibotibo dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/04/2005, 11h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo