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 :

Menu déroulant (select), passer de 2 niveaux à 3 niveaux


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Points : 35
    Points
    35
    Par défaut Menu déroulant (select), passer de 2 niveaux à 3 niveaux
    Salut à tous,

    Avant de poster j'ai fais une recherche sur le forum, mais je n'y ai pas trouver ma réponse.
    Etant débutant en php et complètement ignorant en javascript, je me permet de poser ma question.

    J'ai récupérer le code d'un menu fais avec 2 select, le choix du premier définissant le contenu du deuxième.

    J'arrive à le faire marcher, aucun soucis(je prends le contenu des select dans un BDD).

    Mais voilà, je voudrais faire un 3 select qui se rempli en fonction du choix du second, et là, mes compétences s'arrète .

    voilà con code :

    Code : 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
    32
    33
    34
    35
    36
    37
    38
    39
     
    <SCRIPT LANGUAGE="JavaScript">
    menu=new Array()
     
    ////là je mets mon code php qui me construit mes selects
     
    function changeSousTheme(numeroMenu){
      for (i=document.menuDeroulant.sousTheme.options.length-1;i>0;i--){
       document.menuDeroulant.sousTheme.options[i]=null
       }
     
      for (i=0;i<menu[numeroMenu].length;i++){
       document.menuDeroulant.sousTheme.options[i]=new Option(menu[numeroMenu][i].text,menu[numeroMenu][i].value)
       }
     
      document.menuDeroulant.sousTheme.selectedIndex=0
      }
     
    function selectmenu(theme_prin){
      if (theme_prin.theme.options[theme_prin.theme.selectedIndex].value == "null"){
       alert('selectionnez une catégorie avant de cliquer sur "afficher"');
       }
      else{
       window.top.location.href = theme_prin.theme.options[theme_prin.theme.selectedIndex].value;
       }
      }
     
    function destination(){
      var destination = document.menuDeroulant.sousTheme.options[document.menuDeroulant.sousTheme.selectedIndex].value;
     
      if(destination=="null"){
       alert('Selectionnez une sous catégorie avant de cliquer sur "afficher"');
      }
      else{
       window.top.location.href = destination;
       }
      }
     
    </SCRIPT>
    ensuite j'affiche mon formulaire :

    Code : 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
     
     
         <form name="menuDeroulant">
            <div align="left">
              <tr>
                <td>Cat&eacute;gorie</td>
              </tr>
              <tr>
                <td><select class="select" name="theme" style="width:200" onChange="selectmenu(this.form)">
                    <option selected value="null">Sélectionnez une cat&eacute;gorie
     
     
    ////ici je mets le code php pour construire mon select
     
    ////puis la suite du formulaire
     
     </select></td>
              </tr>
              <tr>
                <td>Sous cat&eacute;gorie</td>
              </tr>
              <tr>
                <td><select class="select" name="sousTheme" style="width:200">
                    <option value="null">Puis une sous cat&eacute;gorie
              </select>                </div>
            <div align="right"><br><input name="button" type=button onClick="destination()" value="Afficher les trocs"></div>
          </form>

    Pour l'instant, quand on choisi une option dans le select 1, le select 2 affiche le premier choix possible, et je voudrais aussi que il reste sur "indiférent".

    Je voudrais rajouter un 3eme select qui se comporte comme le select 2 mais qui affiche des choix en fonction de ce que l'on a sélectionner dans le select 2...

    Merci d'avance pour votre aide.
    +
    DaD

  2. #2
    Membre régulier Avatar de karimphp
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 183
    Points : 110
    Points
    110
    Par défaut
    salut
    pourkoi tu charge pas une 2em page (en faite c'est la meme page)avec recuperation de ta 1er et 2em select
    et puis tu repete le code pour la 2em et la 3em select dans cette meme page
    tous simplement avec la fonction onchange et tu define le nom de la page

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 60
    Points : 35
    Points
    35
    Par défaut
    Je sais pas faire ça, je n'y connais rien en javascript. j'ai repiquer se cript qq part (je sais meme plus ou), et je ne saurais pas le modifier...

Discussions similaires

  1. select distinct menu déroulant
    Par delavega dans le forum ASP
    Réponses: 2
    Dernier message: 23/06/2008, 19h28
  2. Passer mon menu déroulant au dessus du reste !
    Par u115rcu dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 17/03/2008, 22h01
  3. quel est le type d'un menu déroulant <select>?
    Par Henry9 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/08/2007, 17h22
  4. Réponses: 8
    Dernier message: 23/05/2007, 15h54
  5. Réponses: 7
    Dernier message: 17/05/2006, 14h49

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