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 :

Listes déroulantes valeur par défaut


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 88
    Points : 48
    Points
    48
    Par défaut Listes déroulantes valeur par défaut
    Bonjour,

    J'ai récupéré un script de deux liste déroulantes liées. Je l'ai adapté à ma base et il fonctionne très bien. Lorsque je sélectionne une categorie. ça remplit la seconde liste déroulante.
    Je souhaiterai y ajouter une fonctionnalité qui consisterai à faire apparaitre dans ces 2 listes déroulantes liées les valeurs précédentes par défaut.
    Ces valeurs précédentes sont postées sous forme de variables. La première variable est $categorie. La seconde est $article.
    Est-ce que quelqu'un peut m'aider ? merci par avance.

    Voici le script en question .

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    <script type="text/javascript"> 
    var catego = new Array; 
    var articl= new Array; 
    <?php
     
     $sql = "SELECT * FROM `" . $tblpref ."categorie` WHERE 1 ORDER BY categorie";
     $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     $i=0;
     while($data = mysql_fetch_array($req)){
     
     echo"catego[$i] = new Array(\"p$i\", \"$data[categorie]\");\n";
     
     
     $sql2="SELECT *, substring(designation,1,70) as designation FROM `" . $tblpref ."article` WHERE cat = $data[id_cat] and actif != 'non'";
     
     $req2 = mysql_query($sql2) or die('Erreur SQL2 !<br>'.$sql2.'\n'.mysql_error());
     $v=0;
     echo"articl[\"p$i\"] = new Array;\n";
     while($data2 = mysql_fetch_array($req2)){
     $article=  addslashes($data2['article']);
     echo"articl[\"p$i\"][\"$v\"] = new Array(\"$data2[num]\", \"$article / $data2[designation] / $data2[prix_htva] Euro / $data2[uni] \");\n";
     $v= $v+1;
     }
     $i=$i +1;
     }
     $j = $i ;
     echo"catego[$j] = new Array(\"p$j\", \"divers\");\n";
     echo"articl[\"p$j\"] = new Array;\n";
     $sql3="SELECT * FROM `" . $tblpref ."article` WHERE cat = '0' and actif != 'non'";
     $req3 = mysql_query($sql3) or die('Erreur SQL3 !<br>'.$sql3.'\n'.mysql_error());
     $v=0;
     while($data3 = mysql_fetch_array($req3)){
     echo"articl[\"p$j\"][\"$v\"] = new Array(\"$data3[num]\", \"$data3[article] / $data3[prix_htva] Euro / $data3[uni] \");\n";
     $v= $v+1;
     }
     ?>
     
     
    function filltheselect2(liste, choix) 
    {switch (liste) 
       { 
       case "categorie": 
          raz2("article"); 
     
          for (i=0; i<articl[choix].length; i++) 
             { 
             new_option = new Option(articl[choix][i][1],articl[choix][i][0]); 
             document.formu2.elements["article"].options[document.formu2.elements["article"].length]=new_option; 
             } 
     
     
       } 
    } 
     
    function raz2(liste) 
    {l=document.formu2.elements[liste].length; 
    for (i=l; i>=0; i--) 
       document.formu2.elements[liste].options[i]=null;
    }    
    </script> 
     
     
    <select  name="categorie" onChange='javascript:filltheselect2(this.name, this.value)'> 
       <script type="text/javascript"> 
       for (i=0; i<catego.length; i++) 
          document.write("<option value=\"" +catego[i][0]+ "\">" +catego[i][1]); 
       </script> 
     
    </select> 
    <br> 
     
    <select  name="article" > 
       <script type="text/javascript"> 
       for (i=0; i<articl["p0"].length; i++) 
          document.write("<option value=\"" +articl["p0"][i][0]+ "\">" +articl["p0"][i][1]); 
       </script>
     
    </select>

  2. #2
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script type="text/javascript"> 
       for (i=0; i<articl["p0"].length; i++) 
    if (articl["p0"][i][0]=valeurpreced){
          document.write("<option selected value=\"" +articl["p0"][i][0]+ "\">" +articl["p0"][i][1]); }
    else
        {  document.write("<option value=\"" +articl["p0"][i][0]+ "\">" +articl["p0"][i][1]); }
       </script>
    en ayant passé avec php la valeur précédente à valeurpreced

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 88
    Points : 48
    Points
    48
    Par défaut Re
    Je ne comprends pas cette notion de test par rapport à la valeur (là).

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    voit post precedent modifié

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 88
    Points : 48
    Points
    48
    Par défaut Re
    Bonjour

    Conflit bloquage :

    "en ayant passé avec php la valeur précédente à valeurpreced", Est-ce que cela signifie que je dois attribuer à l'expression valeurpreced la valeur de la variable postée.
    Si oui quelle est la forme de cette expression ?

  6. #6
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    sur ta page de destination il faut bien que tu recupères la valeur de l'option précédemment selectionnée...
    ensuite il te suffit de tester ...
    je ne vois vraiment pas ce qui te bloque ...

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 88
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    sur ta page de destination il faut bien que tu recupères la valeur de l'option précédemment selectionnée...
    ensuite il te suffit de tester ...
    je ne vois vraiment pas ce qui te bloque ...
    Je suis tout à fait d'accord avec vous sur ce point. La valeur de l'option précédemment sélectionnée est issue d'une autre page php. Je la poste sous la forme d'une variable en utilisant $POST. Elle se nomme $categorie pour le choix de la première liste déroulante. Je fais idem pour la valeur de la seconde liste déroulante. Elle se nomme $article.
    Ce que je ne sais pas (entre autres choses), c'est comment exploiter cette variable dans cette expression javascript.

  8. #8
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    En general ce genre de chose se gère en php mais bon si tu tiens à le faire en javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <script type="text/javascript"> 
    var valeurpreced=<?php echo  $categorie ; ?>
       for (i=0; i<articl["p0"].length; i++) 
    if (articl["p0"][i][0]==valeurpreced){
          document.write("<option selected value=\"" +articl["p0"][i][0]+ "\">" +articl["p0"][i][1]); }
    else
        {  document.write("<option value=\"" +articl["p0"][i][0]+ "\">" +articl["p0"][i][1]); }
       </script>

  9. #9
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 88
    Points : 48
    Points
    48
    Par défaut Re
    Je ne tiens pas particulièrement à le faire en javascript. Disons que la page existe. Je souhaite alors l'améliorer pour apporter du confort à l'utilisateur. Si il y a plus simple je suis preneur car je n'aime pas trop toucher à des domaines qui flirtent avec mon incompétence. Je ne souhaite pas non plus en faire un domaine de compétence juste ce qu'il faut pour me simplifier le remplissage et la lecture conviviale d'une base de donnée. Actuellement cette page php/javascript de liste déroulante fonctionne mais elle s'initialise sur la première valeur contenue dans la table categorie de mysql. Je souhaiterai qu'elle s'initialise sur une valeur postée.

    Il manquait à priori un ; au code que vous m'avez transmis car il y avait une erreur. Malgré cela ça ne marche pas. La liste de choix est vide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <select  name="categorie" onChange='javascript:filltheselect2(this.name, this.value)'> 
    <script type="text/javascript"> 
    var valeurpreced=<?php echo  $idcat ; ?>;
       for (i=0; i<articl["p0"].length; i++) 
    if (articl["p0"][i][0]==valeurpreced){
          document.write("<option selected value=\"" +articl["p0"][i][0]+ "\">" +articl["p0"][i][1]); }
    else
        {  document.write("<option value=\"" +articl["p0"][i][0]+ "\">" +articl["p0"][i][1]); }
       </script>
    	 
    </select>

  10. #10
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    non ce n'est pas un point virgule qui manque mais des quotes ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var valeurpreced="<?php echo  $idcat ; ?>";
    le point virgule est conseillé mais facultatif ...

  11. #11
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 88
    Points : 48
    Points
    48
    Par défaut
    Ci-joint le code source du client html.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <select  name="categorie" onChange='javascript:filltheselect2(this.name, this.value)'> 
    <script type="text/javascript"> 
    var valeurpreced=18;
       for (i=0; i<catego['p0'].length; i++) 
    if (catego["p0"][i][0]==valeurpreced){
          document.write("<option selected value=\"" +catego["p0"][i][0]+ "\">" +catego["p0"][i][1]); }
    else
        {  document.write("<option value=\"" +catego["p0"][i][0]+ "\">" +catego["p0"][i][1]); }
       </script>
     
    </select>
    <br>
    Le navigateur m'informe d'une erreur à cet endroit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (i=0; i<catego['p0'].length; i++)
    'catego.P0' a la valeur null ou n'est pas un objet.

    Merci de vos remarques

  12. #12
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 88
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    non ce n'est pas un point virgule qui manque mais des quotes ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var valeurpreced="<?php echo  $idcat ; ?>";
    le point virgule est conseillé mais facultatif ...
    Ok j'ai mis les quotes mais ça ne change rien à mon message précédent

  13. #13
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Ben comment veux tu que je le saches ... c'est toi qui a créé cet array là ...
    je l'ai repris parcequ'il était dans ton document.write...
    si il n'existe pas ...

  14. #14
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 88
    Points : 48
    Points
    48
    Par défaut
    Comme vous pouvez le voir dans le code de mon 1er message, cet array existe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script type="text/javascript"> 
    var catego = new Array; 
    var articl= new Array; 
    <?php
     include_once("include/config/common.php");
     $sql = "SELECT * FROM `" . $tblpref ."categorie` WHERE 1 ORDER BY categorie";
     $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     $i=0;

  15. #15
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    c'est un array littéral ? il y a quoi dedans ???
    ce que je ne comprneds pas c'est pourquoi ça marcherait pour la boucle avant et plus maintenant ???

  16. #16
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 88
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    c'est un array littéral ? il y a quoi dedans ???
    ce que je ne comprneds pas c'est pourquoi ça marcherait pour la boucle avant et plus maintenant ???
    Voici un extract des 2 Arrays liés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script type="text/javascript"> 
    var catego = new Array; 
    var articl= new Array; 
    catego[0] = new Array("p0", "");
    articl["p0"] = new Array;
    catego[1] = new Array("p1", "Acces locaux");
    articl["p1"] = new Array;
    catego[2] = new Array("p2", "Actif");
    articl["p2"] = new Array;
    articl["p2"]["0"] = new Array("298", "BM-AMPR / Ampli AsGa (5 - 862 Mhz) de distri, gain 23 à 32 dB, av / 000 Euro / U ");
    articl["p2"]["1"] = new Array("355", "PX-xxxxz / Carte QPSK --> ASI Simple / 0000 Euro / U ");
    articl["p2"]["2"] = new Array("319", "PX-xxxx / Modulateur 1 ASI/ 1 COFDM / 0000 Euro / U ");
    articl["p2"]["3"] = new Array("320", "PX-azer / Modulateur 2 ASI/ 2 COFDM / 0000 Euro / U ");
    Au choix de la liste catego[0] correspond les articles de new Array("p0", "");
    articl["p0"]
    Au choix de la liste catego[1] correspond les articles de new Array("p1", "");
    articl["p1"]

    etc..

    Ma variable $categorie = 18 (par exemple)

  17. #17
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    On ne va pas s'en sortir sur cette piste là ...


    je propose donc de faire une petit routine sur le onload:

    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
    <script type='text/javascript'>
    function resetSel(obj,preced){
    var i=0;
    	while(document.getElementById(obj).options[i]){
    	   if(document.getElementById('categorie').options[i].value==preced){document.getElementById('categorie').options[i].selected="selected";
    	 }
    	   i++;
    	   }
    	  }
    </script>	  
     
    </head>
     
    <body onload="resetSel(categorie,'valeur4')">
    <select  name="categorie" id="categorie" onChange='javascript:filltheselect2(this.name, this.value)'> 
    <option value='valeur1' > texte 1 </option>
    <option value='valeur2' > texte 2 </option>
    <option value='valeur3' > texte 3 </option>
    <option value='valeur4' > texte 4 </option>
    <option value='valeur4' > texte 5 </option>
    <option value='valeur5' > texte 5 </option>
    <option value='valeur6' > texte 6 </option>
    <option value='valeur7' > texte 7 </option>
    <option value='valeur8' > texte 8 </option>
    <option value='valeur9' > texte 9 </option>
    <option value='valeur10' > texte 10 </option>
    <option value='valeur11' > texte 11 </option>
    <option value='valeur12' > texte 12 </option>
    <option value='valeur13' > texte 13 </option>
    <option value='valeur14' > texte 14 </option>
    <option value='valeur15' > texte 15 </option>
    </select>
    </body>
     
    </html>
    exmple sans passage de la variable php mais il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="resetSel(categorie,'<?php echo $idcat;?>')">
    et du coup aussi pour l'autre select en lui passant l'id de l'autre select et sa valeur précedemment selectionnée

  18. #18
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 88
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    On ne va pas s'en sortir sur cette piste là ...


    je propose donc de faire une petit routine sur le onload:

    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
    <script type='text/javascript'>
    function resetSel(obj,preced){
    var i=0;
    	while(document.getElementById(obj).options[i]){
    	   if(document.getElementById('categorie').options[i].value==preced){document.getElementById('categorie').options[i].selected="selected";
    	 }
    	   i++;
    	   }
    	  }
    </script>	  
     
    </head>
     
    <body onload="resetSel(categorie,'valeur4')">
    <select  name="categorie" id="categorie" onChange='javascript:filltheselect2(this.name, this.value)'> 
    <option value='valeur1' > texte 1 </option>
    <option value='valeur2' > texte 2 </option>
    <option value='valeur3' > texte 3 </option>
    <option value='valeur4' > texte 4 </option>
    <option value='valeur4' > texte 5 </option>
    <option value='valeur5' > texte 5 </option>
    <option value='valeur6' > texte 6 </option>
    <option value='valeur7' > texte 7 </option>
    <option value='valeur8' > texte 8 </option>
    <option value='valeur9' > texte 9 </option>
    <option value='valeur10' > texte 10 </option>
    <option value='valeur11' > texte 11 </option>
    <option value='valeur12' > texte 12 </option>
    <option value='valeur13' > texte 13 </option>
    <option value='valeur14' > texte 14 </option>
    <option value='valeur15' > texte 15 </option>
    </select>
    </body>
     
    </html>
    exmple sans passage de la variable php mais il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="resetSel(categorie,'<?php echo $idcat;?>')">
    et du coup aussi pour l'autre select en lui passant l'id de l'autre select et sa valeur précedemment selectionnée
    (l'insertion de ce dernier code bloque mon programme).
    Désolé mais vous devez me surestimer quant à mes capacités à comprendre votre jargon. C'est certainement l'effet de la vieillesse. J'ai bien peur que toutes ces pistes dont vous me parlez ne nous éloigne davantage de l'objectif à atteindre.
    A savoir, retrouver en choix par défaut de la liste de choix 1 l'évenement correspondant à la variable $categorie et en choix par défaut de liste de choix 2 l'évenement correspondant à la variable $article.

    Exemple de contenu de mes variable :
    $categorie = 18
    $article = 343

    J'ai donné plus haut un échantillon de ce que contenaient les arrays (copier/coller du code source sur IE7 lors de l'affichage de la page)

  19. #19
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    deux remarques :


    EDIT : Arf, grillé ...
    A+

  20. #20
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    je pense qu'au niveau de l'age je passe devant ...

    dans ma dernière proposition il suffit de mettre le script donné dasn le head :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <script type='text/javascript'>
    function resetSel(obj,preced){
    var i=0;
    	while(document.getElementById(obj).options[i]){
    	   if(document.getElementById('categorie').options[i].value==preced){document.getElementById('categorie').options[i].selected="selected";
    	 }
    	   i++;
    	   }
    	  }
    </script>
    puis dans le onload un body de lancer la fonction avec les bons paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <body onload="new resetSel('categorie','<?php echo $idcat; ?>');new resetSel('article','<?php echo $idart; ?>');">
    avec
    • un id='categorie' dans le select categorie
      et $idcat etant la variable php contenant la valeur selectionnée précedemment
    • avec un id='article' dans le select article
      et $idart etant la variable php contenant la valeur selectionnée précedemment

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/08/2009, 09h09
  2. [Stripes] Menu déroulant valeur par défaut
    Par gentil dans le forum Autres
    Réponses: 1
    Dernier message: 03/04/2009, 13h56
  3. Zone de liste modifiable : valeur par défaut
    Par pafi76 dans le forum Access
    Réponses: 2
    Dernier message: 26/06/2006, 14h44
  4. Zone de liste modifiable + Valeur par défaut
    Par Frac dans le forum Access
    Réponses: 7
    Dernier message: 27/10/2005, 08h21
  5. Menu déroulant valeur par défaut
    Par Gourouni dans le forum ASP
    Réponses: 11
    Dernier message: 06/12/2004, 16h31

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