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

JavaScript Discussion :

[POO] Recuperer info dans un select autre que text et value


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de JMLLB
    Inscrit en
    Septembre 2006
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 285
    Par défaut [POO] Recuperer info dans un select autre que text et value
    Bonjour,

    Je suis néophyte en js et je bloque sur qqchose qui a priori me semble simple.

    Je génère (via php) un "select" avec toutes une série d'"option".

    Il s'agit d'entrée dans une table sql, dans value je renseigne l'ID de l'enregistrement j'affiche la donnée utilisateur dans text et j'ai une info supplémentaire qui correspond au droit de suppression.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <select  name="TableBidon" >
      <option class='readOnly' value='ID00'>Donnee 1</option>
      <option class='readWrite' value='ID01'>Donnee 2</option>
    </select>
    Pour récupérer value et text pas de soucis.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.form.TableBidon.options[document.form.TableBidon.selectedIndex].text;
    document.form.TableBidon.options[document.form.TableBidon.selectedIndex].value;
    Par contre pour récupérer les droits un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.form.TableBidon.options[document.form.TableBidon.selectedIndex].class;
    ne me donne aucun résultat (j'ai utilise class, mais aussi ID et même des mots non clef).

    Bien sur je peux tout concaténer dans value et le récupérer après, mais franchement c'est moche!

    Si qq'un a une solution propre je suis preneur.
    Le problème de droit est donné a titre d'exemple.

    cordialement,

    /JMLLB

  2. #2
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Je ne suis pas sûr mais je crois que c'est className au lieu de class

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    +1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre éclairé
    Avatar de JMLLB
    Inscrit en
    Septembre 2006
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 285
    Par défaut
    bon il y a du changement.

    Effectivement la ou j'avais un undefined j'ai maintenant une valeur nulle (ce qui est normal puisque je n'ai pas défini de style pour readOnly ou readWrite.

    Mais je crains m'être mal exprime dans l'idéal j'aurai bien vu un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <select  name="TableBidon" >
      <option param1='12' param2='23' param3='34' value='ID00'>Donnee 1</option>
      <option param1='02' param2='03' param3='04'  value='ID01'>Donnee 2</option>
    </select>
    avec une récupération du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    document.form.TableBidon.options[document.form.TableBidon.selectedIndex].param1;
    document.form.TableBidon.options[document.form.TableBidon.selectedIndex].param2;
    document.form.TableBidon.options[document.form.TableBidon.selectedIndex].param3;
    De cette maniere je n'ai pas a refaire de consultation de ma base de donnees.

    J'ai utilisé le mot clef class car en créant de toute pièce un id cela n'a pas marché.

    en tout cas merci de votre promptitude!

  5. #5
    Membre Expert
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Par défaut
    Pour quoi ne pas faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (document.form.TableBidon.options[document.form.TableBidon.selectedIndex].value = 'ID00')
    {
    param1 = 12 ;
    param2 = 23 ;
    param3 = 34 ;
    }

  6. #6
    Membre éclairé
    Avatar de JMLLB
    Inscrit en
    Septembre 2006
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 285
    Par défaut
    Citation Envoyé par jumano Voir le message
    Pour quoi ne pas faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (document.form.TableBidon.options[document.form.TableBidon.selectedIndex].value = 'ID00')
    {
    param1 = 12 ;
    param2 = 23 ;
    param3 = 34 ;
    }
    euh... parce que les 12,23 et 34 sont des valeurs que je veux récupérer et que je ne connais pas a priori. Elles se trouvent dans une table sql dont je me sert pour générer mon select via du php. Mais j'ai peut être pas compris ce que tu voulais dire.

    Citation Envoyé par SpaceFrog
    Je ne suis pas sur que cela fonctionne avec tous les browsers avec l'attribut nommé directement dans la balise ...
    Je confirme ça ne marche pas du tout.

    Pour le reste je vais reprendre ca demain matin parce que les id rationnels et les onload ça ne me parle pas du tout et il se fait un peu tard...

    J'ai aussi essaye de créer un sous niveau de balise style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <select  name="TableBidon" >
      <option value='ID00'>Donnee 1<param1 value='12'></param1></option>
    </select>
    avec une recuperation dans le genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.form.TableBidon.options[document.form.TableBidon.selectedIndex].param1.value;
    Mais ça a vraiment fâche le navigateur.

    ps: désole pour les accents mais je fais ce que je peux avec un clavier cyrillic.

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Je ne suis pas sur que cela focntionne avec tous les browsers avec l'attribut nommé directment dans la balise ...
    Par contre avec javascript tu peux attribuer une propriété à un objet ...
    peut être alors en lançant une fonction dans le onload ...

    sinon avec des champs cachés et des id rationnels ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 30/12/2010, 17h46
  2. "Save as" dans une location autre que le fichier où est enregistré le code
    Par Victoire 85 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/06/2007, 13h16
  3. Réponses: 3
    Dernier message: 18/07/2006, 10h32
  4. Réponses: 3
    Dernier message: 14/11/2005, 15h06
  5. Réponses: 1
    Dernier message: 15/08/2005, 19h38

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