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 :

Changer selected option value dropdownbox


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 57
    Par défaut Changer selected option value dropdownbox
    Bonjour,

    J'ai une dropdownbox avec par défaut une valeur et j'aimerais la supprimer et prendre la valeur suivante par défaut:
    Ce que j'ai:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <option value="!ALL" selected > (All) </option> 
    <option value="2006"  > 2006 </option> 
    <option value="2005"  > 2005 </option>
    Ce que je voudrais avoir à la place:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <option value="2006" selected > 2006 </option> 
    <option value="2005"  > 2005 </option>

    Merci d'avance.

    Cordialement.

  2. #2
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Ce que je voudrais avoir à la place:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <option value="2006" selected > 2006 </option> 
    <option value="2005"  > 2005 </option>
    euh quelle est la question ? Car là tu viens de résoudre le problème. C'est en effet le code qu'il faut mettre si tu veux sélectionner la valeur 2006 et qu'elle soit prise par défaut.

    Ou alors .... tu veux le faire dynamiquement avec Javascript ? Tu ne peux pas modifier le code HTML ?
    Ou alors ... tu veux que lors du clic sur la liste, l'option "ALL" ne soit plus disponible et que 2006 le soit à la place ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 57
    Par défaut
    Ce que je voudrais c'est qu'à l'ouverture de la page html le ALL ne soit pas proposé et que la page s'ouvre sur les données de 2006.

    La valeur du deuxième choix est dynamique (ce ne sera pas toujours 2006).

    En cherchant sur internet j'ai trouvé une formule sympa :
    document.getElementById('my_drop_down').selectedIndex=2;
    Mais le problème c'est que l'identifiant est dynamique donc je ne peux pas le mettre en dur.
    S'il y a possibilité de changer le html sans passer par du javascript je prends aussi.

    Pour info, cette page html provient d'un webtemplate SAP BW.

  4. #4
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    dropdownbox n'existe pas en html, c'est un select

    pour basculer l'option selectionnée à la suivante, avant de te donner une piste, tu travailles avec jquery ?
    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 !

  5. #5
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Le plus simple serait de modifier le web template directement et de virer cette option qui semble être inutile.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 57
    Par défaut
    Non je ne travaille pas avec jquery.

    J'aimerais bien supprimer cette fonctionnalité directement sur le webtemplate mais ce n'est pas possible. La seule chose que je peux faire (et que j'ai déjà implémenté) c'est le supprimer après avoir sélectionné à la main une année.

  7. #7
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Pourquoi est-ce impossible ? C'est une question de droit ?
    Donc tu ne peux pas modifier le template mais tu peux ajouter du javascript ?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 57
    Par défaut
    Il y a une option dans le webtemplate qui se nomme
    Do Not Display "All values" Entry
    qui lorsqu'elle est cochée permet de supprimer le ALL mais seulement une fois qu'une valeur ai été sélectionnée "à la main".

    C'est parce que cette option ne marche pas que je cherche à passer par le javascript.

  9. #9
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    le js pour la selection du suivant ...

    http://jsfiddle.net/xtcFk/
    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 !

  10. #10
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Es-tu sûr que cette "option ne marche pas" ? Peut-être est-ce le bon comportement de cet "objet SAP".
    Peut-être que tu devrais te renseigner pourquoi le fait d'utiliser Do Not Display "All values" Entry ne permet pas de "cacher" ce ALL.
    Sûrement un truc qui manque à ton web template ? Peut-être un filtre mal attaché à une vue ...

    Mais bon, ça relève plutôt du support SAP.

    En utilisant le Javascript tu contournes le problème initial, je pense.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 57
    Par défaut
    @SpaceFrog : l'identifiant étant dynamique je ne peux pas utiliser cette fonction

    @Kaamo : j'ai déjà ouvert une discussion sur ce sujet au niveau du forum SAP mais pas de réponse

    Merci quand même à vous deux!

  12. #12
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Comme tu le décris, "ALL" peut-être caché seulement s'il y a un filtre donc ? Sur l'année en l'occurrence ?
    Essaie donc de définir un filtre automatique au chargement de ce template. ça doit sûrement être possible.
    Par exemple, crée une vue basé sur une requête (sélectionner 2006) et attache la vue au template.
    Ainsi, une fois le template lancé, il ira chercher la vue correspondante, appliquera le filtre et avec l'option adéquate (Do Not Display ...), le ALL ne devrait pas s'afficher.

  13. #13
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    Citation Envoyé par thebest31
    @SpaceFrog : l'identifiant étant dynamique je ne peux pas utiliser cette fonction
    tu peux l'atteindre via la méthode getElementsByTagName
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var lstSelect = document.getElementsByTagName('SELECT');
    Il te suffit de trouver le bon s'il y en à plusieurs.

  14. #14
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonsoir,

    un petite remarque concernant le code HTML :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <select>
    <option value="!ALL" selected> ALL </option>
    il faut écrire selected="selected" sinon ce n'est pas valide W3C

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <select>
    <option value="!ALL" selected="selected"> ALL </option>

  15. #15
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Auteur, ça dépend du doctype. En syntaxe xhtml oui, tout attribut doit avoir une valeur, mais en syntaxe HTML, tu peux avoir des attributs dits booléens et sans valeur (leur seule présence équivaut à une valeur).
    En HTML5, les deux syntaxes sont autorisées.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  16. #16
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    C'est vrai tu as raison, cela dépend du doctype. En HTML 4, je sais que la syntaxe est autorisée mais j'ai pris l'habitude du XHTML

    Par contre en HTML 5 (j'avoue toutefois que je ne me suis pas encore penché sur les normes), je suis un peu surpris, c'est un retour en arrière ?

  17. #17
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Non, c'est une continuité.
    La syntaxe HTML ayant toujours autorisé cette notation.
    La seule chose, c'est que HTML5 autorise les deux types de syntaxe.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 57
    Par défaut
    Alors j'ai quelque chose de très bizarre!!
    J'ai exécuté le code de NoSmoking et j'ai bien l'affichage du dropdownbox qui marche mais par contre quand j'affiche la source de la page HTML j'ai toujours le All qui est en selected.
    Du coup mes tableaux de données associés au dropdownbox ne se mettent pas à jour.
    Des idées du pourquoi du comment??
    Merci d'avance

  19. #19
    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 658
    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 658
    Billets dans le blog
    1
    Par défaut
    ne te fie pas au source de la page ...
    il n'est le reflet que de ce que ton navigatier reçoit du serveur, pas ce qui est modifié par script...
    Si tu as firebug, l'onglet html est lui le reflet de la page affichée, modification dynamiques comprises
    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 !

  20. #20
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Citation Envoyé par thebest31
    J'ai exécuté le code de NoSmoking et j'ai...
    euh! je n'ais pas donné de code mais un indice qui sans plus ne fera rien

    Cette fois voici un exemple d'utilisation
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="UTF-8">
    <title>[...]</title>
    <style>
    </style>
    </head>
    <body>
    <select>
      <option>Select #1</option>
      <option>Select #2</option>
      <option>Select #3</option>
    </select>
    <select>
      <option value="!ALL">All</option>
      <option>Select #1</option>
      <option>Select #2</option>
      <option>Select #3</option>
    </select>
    <script>
    var lstSelect = document.getElementsByTagName('SELECT');
    var i, nb = lstSelect.length;
    for( i=0; i < nb; i++){
      if( lstSelect[i].options[0].value == "!ALL"){
        lstSelect[i].removeChild( lstSelect[i].options[0]);
      }
    }
    </script>
    </body>
    </html>

Discussions similaires

  1. Variable javascript et select option value
    Par pat100 dans le forum jQuery
    Réponses: 2
    Dernier message: 29/11/2013, 12h46
  2. Select Options récuperer le text avec la value
    Par night_flyers dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/09/2009, 12h17
  3. changer les options d'un select
    Par shinrei dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/07/2006, 16h08
  4. Changer sélection d'un select/option
    Par Trunks dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/09/2005, 14h29
  5. [Struts]Select, options & value ...
    Par djoukit dans le forum Struts 1
    Réponses: 4
    Dernier message: 01/07/2004, 10h40

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