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 :

Aide tableau JS


Sujet :

JavaScript

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Avril 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Avril 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Aide tableau JS
    Bonjour à tous !

    Je viens de débuter en Javascript, et j'aurais besoin d'une solution..

    J'ai créé un tableau en HTML avec des valeurs, dont voici une partie.

    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
    32
    33
    34
    35
    36
    37
    38
    39
    <table>
    	  <tr id="ligne1" onclick="SelectLigne(this)">
    		<th>100,000</th>
    		<th>19,95€</th>
    	  </tr>
    	 <tr id="ligne2" onclick="SelectLigne(this)">
    		    <td>500,000</td>
    		    <td>89,95€</td>
    	  </tr>
    	  <tr id="ligne3" onclick="SelectLigne(this)">
    		    <td>1,000,000</td>
    		    <td>169,95€</td>
    	  </tr>
    	  <tr id="ligne4" onclick="SelectLigne(this)">
    		    <td>2,500,000</td>
    		    <td>399,95€</td>
    	  </tr>
    	  <tr id="ligne5" onclick="SelectLigne(this)">
    		    <td>5,000,000</td>
    		    <td>799,95€</td>
    	  </tr>
    	  <tr id="ligne6" onclick="SelectLigne(this)">
    		    <td>10,000,000</td>
    		    <td>1399,95€</td>
    	  </tr>
    	  <tr id="ligne7" onclick="SelectLigne(this)">
    		    <td>15,000,000</td>
    		    <td>1999,95€</td>
    	  </tr>
    	  <tr id="ligne8" onclick="SelectLigne(this)">
    		    <td>20,000,000</td>
    		    <td>2499,95€</td>
    	  </tr>
    </table>
     
    <div class="choice">
    <input id="BNom" onclick="ConfirmChoix()" type="button" value="Make your choice" />
    <div id="result"> </div>
    </div>


    Ce que je veux faire, c'est une selection d'une ou plusieurs lignes du tableau (tr) et via un JS.

    quand l'utilisateur clique sur une ou plusieurs lignes du tableau, puis sélectionne le bouton de validation; un pop up s'ouvre pour la validation du choix.

    Une fois le pop up validé, le choix s'affiche sur la div "result".



    Mon script permet de faire cela, mais seulement pour une ligne du tableau à la fois... Un peu d'aide pour que le script autorise la selection multiple de lignes avant la validation ?


    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
    ObjSelec = null;
    function SelectLigne(obj){
     var idLigne=obj.id;
     obj.className="selection";
     
     if (ObjSelec!=null){
        ObjSelec.className = "defaut";
        ObjSelec = obj;
     }
     else{
        ObjSelec = obj;
     }
    }
     
    function ConfirmChoix(){
     var msg = "Your selection : ";
     var objId, elmt, resultat, i, n;
     var Tab=new Array();
     
     if (ObjSelec != null) {
        objId = ObjSelec.id;
        switch(objId){
        case "ligne1":
             msg = msg + "100,000 trucs for 19,95€ per month";
             break;
        case "ligne2":
             msg = msg + "500,000 trucs for 89,95€ per month";
             break;
        case "ligne3":
             msg = msg + "1,000,000 trucs for 169,95€ per month";
             break;
        case "ligne4":
             msg = msg + "2,500,000 trucs for 399,95€ per month";
             break;
        case "ligne5":
             msg = msg + "5,000,000 trucs for 799,95€ per month";
             break;
        case "ligne6":
             msg = msg + "10,000,000 trucs for 1399,95€ per month";
             break;
        case "ligne7":
             msg = msg + "15,000,000 trucs for 1999,95€ per month";
             break;
        case "ligne8":
             msg = msg + "20,000,000 trucs for 2999,95€ per month";
        }
     
        resultat = window.confirm(msg + "\n Confirm your choice ?");
     
        if (resultat){
          elmt = document.getElementById(objId);
          n=0;
          for(i=0;i<elmt.childNodes.length;i++){
             if (elmt.childNodes[i].nodeName=="TD" || elmt.childNodes[i].nodeName=="td"){
                 Tab[n] = elmt.childNodes[i].innerHTML;
                 n++;
             }
          }
          elmt = document.getElementById("result");
          elmt.innerHTML =  msg;
        }
     }
     else{
        alert("You didn't choose !");
     }
    }

    L'idéal serait qu'après, on puisse envoyer les informations selectionnés via un formulaire.



    Merci de vos possibles futures réponses !



    Signé, un gros noob en JS



    Exalight

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 929
    Points
    44 929
    Par défaut
    Bonjour,
    je prendrais une autre orientation.

    - au clic sur la TR ajout de la classe selection, si autre clic suppression de la classe et ainsi de suite en alternance.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function SelectLigne(obj){
      obj.className = obj.className == 'selection' ? '' : 'selection';
    }
    - sur le clic du BUTTON récupération des TR qui possédent la classe selection.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function ConfirmChoix(){
      var oTable = document.getElementById('la_table'),
          oDest  = document.getElementById('result'),
          oTr = oTable.rows,
          i, nb = oTr.length,
          result = [];
     
      for( i=0; i <nb; i++){
        if( oTr[i].className == 'selection'){
          result.push( oTr[i].textContent || oTr[i].innerText); // Juste pour l'exemple
        }
      }
      oDest.innerHTML = '<ul><li>' +result.join('<\/li><li>') +'<\/li><\/ul>';
    }
    La gestion devient pour le coup bien plus simple

  3. #3
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    une façon simple
    mettre le tableau dans un form avec le bouton
    ajouter une colonne avec un checkbox
    modifier la fonction SelectLigne pour simuler la check/uncheck de la checkbox de la ligne

    dans le bouton récupérer le form
    tu as toutes les boites cochées et décochée

    A+JYT

Discussions similaires

  1. Aide Tableau dynamique
    Par scorpion.os dans le forum Flash
    Réponses: 5
    Dernier message: 25/01/2007, 13h05
  2. aide tableau de caracteres
    Par aimad41 dans le forum C
    Réponses: 5
    Dernier message: 23/10/2006, 22h01
  3. Aide Tableau croisé dynamique Excel
    Par azerty dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/09/2006, 08h57
  4. aide tableau svp
    Par mator dans le forum C
    Réponses: 3
    Dernier message: 11/06/2006, 15h54
  5. Aide Tableau vbs
    Par Travailleuuse06 dans le forum ASP
    Réponses: 2
    Dernier message: 29/12/2005, 14h01

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