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 :

Sélectionner toutes les options d'un select multiple


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 164
    Points : 303
    Points
    303
    Par défaut Sélectionner toutes les options d'un select multiple
    Bonjour, je cherche à sélectionner toutes les options de mon select avant de faire un submit de mon formulaire.

    Voici ma page :
    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
    <form id="form1" name="form1" method="POST" onsubmit="selectAll('teamPlayers'), selectAll('nonTeamPlayers')" action="save.php?job=saveTeamPlayers&teamID=<?php echo $teamId; ?>">
      <table width="460" border="0" cellspacing="2" cellpadding="5" align="center">
        <tr>
          <th scope="col" width="200">Players available</th>
          <th scope="col" width="50"></th>
          <th scope="col" width="200">Players of the Team</th>
        </tr>
        <tr>
          <td align="center">
            <select id="nonTeamPlayers[]" name="nonTeamPlayers" size="15" multiple="multiple" class="teamSelect">
            <?php
            //affichage des membres players       
            ?>
            </select>
          </td>
          <td align="center">
          <input name="button" type="button" onclick="transferPlayer('nonTeamPlayers[]', 'teamPlayers[]')" value=">>" /><br/><br/>
          <input name="button2" type="button" onclick="transferPlayer('teamPlayers[]', 'nonTeamPlayers[]')" value="<<" /></td>
          <td align="center">
            <select id="teamPlayers[]" name="teamPlayers" size="15" multiple="multiple" class="teamSelect">
              <option value="2">j2</option>
            </select>
          </td>
        </tr>
        <tr>
          <td align="right">
            <input type="button" name="Cancel" value="Cancel" onclick="location.href='admin.php?job=listTeam'" />
          </td>
          <td></td>
          <td>
          <input type="submit" name="Submit" value="Validate" />
          </td>
        </tr>
      </table>
    </form>
    Voici ma fonction javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function selectAll(selectname)
    {
    	var selectbox = document.getElementsByName(selectname);
    	for (var i = 0; i < selectbox.length; i++)
    	{
    		document.forms[0].selectbox.options[i].selected = "selected";
    	}
    }
    J'obtiens comme réponse dans la console d'erreur : "selectbox.options has no properties".

    J'ai essayé de plusieurs manières :
    - document.selectbox.options[i].selected = "selected";
    - selectbox.options[i].selected = "selected";
    - document.form1.selectbox.options[i].selected = "selected";

    Aucune ne fonctionne.


    J'ajoute que j'ai déjà lu plusieurs topics comme celui-ci : http://www.developpez.net/forums/sho...+submit&page=2

    mais rien n'y fait.

  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
    voilà ce que c'est de mettre des élements de forumlaire dans un tableau

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 164
    Points : 303
    Points
    303
    Par défaut
    Qu'est ce que je devrais faire? Je viens d'essayer en enlevant les [] des id de mes select (et dans les appels de la fonction), ça ne marche toujours pas.

  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
    non dans une balise table ...

    ton tableau masque les objets ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagName('table')[0].getElementsByName(selectname)

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 164
    Points : 303
    Points
    303
    Par défaut
    Ah j'ai compris pour la <table>.

    Mais maintenant j'obtiens une autre erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Erreur : document.getElementsByTagName("table")[0].getElementsByName is not a function

    Sinon pour éviter les tableaux, y a quoi comme alternative? DIV+CSS?

  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
    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
    </head>
     
    <body>
    <form id="form1" name="form1" method="POST" onsubmit="selectAll('teamPlayers'); selectAll('nonTeamPlayers'); return false" action="">
      <table width="460" border="0" cellspacing="2" cellpadding="5" align="center">
        <tr>
          <th scope="col" width="200">Players available</th>
          <th scope="col" width="50"></th>
          <th scope="col" width="200">Players of the Team</th>
        </tr>
        <tr>
          <td align="center">
            <select id="nonTeamPlayers[]" name="nonTeamPlayers" size="15" multiple="multiple" class="teamSelect">
            <option>lkjlkjlkj</option>
                    <option>lkjlkjlkj</option>        <option>lkjlkjlkj</option>        <option>lkjlkjlkj</option>        <option>lkjlkjlkj</option>
            </select>
          </td>
          <td align="center">
          <input name="button" type="button" onclick="transferPlayer('nonTeamPlayers[]', 'teamPlayers[]')" value=">>" /><br/><br/>
          <input name="button2" type="button" onclick="transferPlayer('teamPlayers[]', 'nonTeamPlayers[]')" value="<<" /></td>
          <td align="center">
            <select id="teamPlayers[]" name="teamPlayers" size="15" multiple="multiple" class="teamSelect">
              <option value="2">j2</option>
                      <option>lkjlkjlkj</option>
                              <option>lkjlkjlkj</option>
            </select>
          </td>
        </tr>
        <tr>
          <td align="right">
            <input type="button" name="Cancel" value="Cancel" onclick="location.href='admin.php?job=listTeam'" />
          </td>
          <td></td>
          <td>
          <input type="submit" name="Submit" value="Validate" />
          </td>
        </tr>
      </table>
    </form>
    </body>
    <script type="text/javascript">
    function selectAll(selectname){
    	var selectbox = document.getElementsByName(selectname)[0];
    	var OL=selectbox.options.length;
    	for (i = 0; i < OL; i++)
    	{
    		selectbox.options[i].selected = "selected";
    	}
    }
    </script>
     
    </html>

  7. #7
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function selectAll(selectname)
    {
    	var selectbox = document.forms[0].elements[selectname];
    	for (var i = 0; i < selectbox.length; i++)
    	{
    		selectbox.options[i].selected = true;
    	}
    }

  8. #8
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 164
    Points : 303
    Points
    303
    Par défaut
    Merci beaucoup à vous 2!

    Je dois juste faire un return true dans le onsubmit et garder mon action="xxxxxxx" pour arriver à mes fins, mais ça marche!

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

Discussions similaires

  1. Effacer toutes les options de plusieurs select?
    Par tryan dans le forum Général JavaScript
    Réponses: 33
    Dernier message: 12/09/2010, 21h07
  2. Sélectionner toutes les options d'un select sous IE
    Par jeanbabi dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/01/2008, 11h41
  3. Effacer toutes les options d'un select
    Par adr22 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 05/11/2007, 17h26
  4. récupérer toutes les Options d'1 select
    Par javaSudOuest dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/12/2005, 08h37

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