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 :

Récupérer une valeur contenu dans un array


Sujet :

JavaScript

Vue hybride

giovanni Récupérer une valeur contenu... 22/01/2019, 15h13
SpaceFrog oui mais si tu cliques 24 à... 22/01/2019, 16h05
giovanni ligne74 22/01/2019, 21h44
danielhagnoul :salut: Je ne sais pas ce... 22/01/2019, 22h58
SpaceFrog @Daniel => Non j'ai rien... 23/01/2019, 10h30
giovanni voila vode html css js 23/01/2019, 12h13
ProgElecT Salut Exemple pour les... 23/01/2019, 13h55
danielhagnoul Lorsqu'on corrige un code, on... 26/01/2019, 10h38
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Par défaut Récupérer une valeur contenu dans un array
    bonjour
    voila un JavaScript ,je sais pas reprendre valeur ,cliquer cliquer...
    par exemple je clique
    1 5 67 89 43
    ben par exemple le 1 additionner au 43 ou 67 moins 5 ...
    enfin c'est reprendre les valeur pour travailler avec ..
    merci

    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
    79
    80
    81
    82
    83
    84
    85
    86
    "use strict";
    // ----------
    // 0- création de la table - 90 cases
    let table = document.createElement('table');
    let tbody = table.createTBody();
    for (let row = 1; row <= 10; row++) 
    {
      let tr = tbody.insertRow();
      for (let col = 1; col <= 9; col++) 
      {
        let key = row + ((col-1) * 10);
        let td = tr.insertCell();
        let label = document.createElement('label');
        let input = document.createElement('input');
        input.type = 'checkbox';
        input.name = 'cb['+key+']';
        input.value = key; // on met la clé en valeur
        label.append(key, input);
        td.append(label);
      }
    }
    document.getElementById('form90cases').prepend(table); // insert la table dans le formulaire
    // ----------
    // 1- checkbox
    let allBoxes = document.querySelectorAll('#form90cases input[type=checkbox]');
    allBoxes.forEach(function(box) {
      box.addEventListener('click', function(){ 
    //    box.parentNode.parentNode.classList.toggle('on');
        box.closest('td').classList.toggle('on');
        show_results();
      });
    });
    // ----------
    // 2- Reset (Vider la grille)
    let btnReset = document.querySelector('#form90cases button[name="btn-reset"]');
    btnReset.addEventListener('click', function(){ 
      for (let box of allBoxes) {
        box.checked = false; // décoche la sélection
        box.removeAttribute('checked'); // décoche la sélection
    //    box.parentNode.parentNode.classList.remove('on');
        box.closest('td').classList.remove('on');
      }
        show_results();
    });
    // ----------
    // 3- inverser la sélection
    let btnInvert = document.querySelector('#form90cases button[name="btn-invert"]');
    btnInvert.addEventListener('click', function(){ 
      for (let box of allBoxes) {
        box.checked = !box.checked; 
    //    box.parentNode.parentNode.classList.toggle('on');
        box.closest('td').classList.toggle('on');
      }
        show_results();
    });
    // ----------
    // 4- Envoyer
    let btnEnvoi = document.querySelector('#form90cases button[name="btn-envoi"]');
    btnEnvoi.addEventListener('click', function(){ 
        show_results();
    });
    // ----------
    function show_results()
    {
    	let show_results = document.getElementById('show-results');
    	let nbre_results = document.getElementById('nbre-results');
    	let results = [];
    	let ii = 0;
      for (let box of allBoxes) 
      {
        if( box.checked )
    	  {
    		  results[ii] = Number(box.value);
    		  ii++;
    	  }
      }
      results.sort(compareNombres); // ordre croissant
     
      // Affichage des résultats
      nbre_results.textContent = ii;
    //  show_results.textContent = results.join(', ');
      show_results.innerHTML = '<b>' + results.join('</b>, <b>') + '</b>';
    //  show_results.innerHTML = '<ul><li>' + results.join('</li><li>') + '</li></ul>'; // liste Ã* puces
    }
    function compareNombres(a, b) { return a - b; } // permet de trier correctement les nombres
    // ----------

  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 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
    oui mais si tu cliques 24 à droite et 72 en bas il se peut qu'à la fin tu finisses avec 7 ... en plus ?
    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 !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Par défaut ligne74
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      show.Number(1);
      show.Number(2);
    ca ne affiche rien

  4. #4
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut


    Je ne sais pas ce que @SpaceFrog a compris à votre problème, pour moi c'est très nébuleux.

    Il nous manque les codes HTML et CSS et une meilleure explication du contenu de la table et quel résultat obtenir !

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    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
    @Daniel => Non j'ai rien capté, mais je voulais juste participer à une discussion de mecs bourrés ...


    c'est du javascript ???

    Si la problématique c'est de manipuler un array (Ce qui est trèèèèèèèèèèèèèèèèèèèès loinnnnnnnnnnnnnnnnnn d'être clair dans la question)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MyArray=[1,2,"coucou",4,5];
    console.log(MyArray[0]);  // => 1
    console.log(MyArray[2]);  // => coucou
    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 !

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Par défaut voila vode html css js
    https://codepen.io/paolo3/pen/KJwdez
    voila comme ca vous avez tout
    au fait récupéré sur un array ,enfin ,je suis pas sur si il sont stoker dans array ,si oui lequel

  7. #7
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 130
    Par défaut
    Salut

    Exemple pour les cases cochées 24 26 et 30:
    results contient l'array : 24,26,30
    Si tu veux récupérer le 2ém, tu fais var recup2 = results[1] (donc égal 26).

    Si tu fais var StrTbl = results.join('|'); tu récupères une variable typée string de tout ton tableau results, séparé par le caractère | soit: 24|26|30
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 113
    Par défaut donc
    si j'ajoute ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      for (let box of allBoxes) 
      {
        if( box.checked )
    	  {
    		  results[ii] = Number(box.value);
    		  ii++;
          var recup2[ii] = results[ii]
    	  }
      }
    je fais comment pour afficher recup2[1]
    etc
    ce qui me brouille c'est ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    show_results.innerHTML = '<b>' + results.join('</b>, <b>') + '</b>';
    je ne sais comment utiliser recup2 avec ca

  9. #9
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Lorsqu'on corrige un code, on se laisse souvent influencé par la structure du code existant, même lorsque l'on sait qu'il est imparfait. C'est le cas ici pour le paramètre ii qui est totalement inutile !

    Correction de mon code précédent :

    Code JavaSCript : 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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    window.addEventListener('load', ev => {
        // le DOM est construit et la page web est visible
     
        // début code du test
     
        // 0- création de la table - 50 cases
     
        let table = document.createElement('table');
        let tbody = table.createTBody();
     
        for (let row = 1; row <= 7; row++) {
            let tr = tbody.insertRow();
     
            for (let col = 1; col <= 6; col++) {
                let key = row + ((col - 1) * 7);
                let td = tr.insertCell();
                let label = document.createElement('label');
                let input = document.createElement('input');
     
                input.type = 'checkbox';
                input.name = 'cb[' + key + ']';
                input.value = key; // on met la clé en valeur
                label.append(key, input);
                td.append(label);
            }
        }
     
        document.getElementById('form90cases').prepend(table); // insert la table dans le formulaire
     
        // 1- checkbox
        let allBoxes = document.querySelectorAll('#form90cases input[type=checkbox]');
     
        allBoxes.forEach(function (box) {
            box.addEventListener('click', function () {
                //    box.parentNode.parentNode.classList.toggle('on');
                box.closest('td').classList.toggle('on');
                show_results();
            });
        });
     
        // 2- Reset (Vider la grille)
        let btnReset = document.querySelector('button[name="btn-reset"]');
     
        btnReset.addEventListener('click', function () {
            for (let box of allBoxes) {
                box.checked = false; // décoche la sélection
                box.removeAttribute('checked'); // décoche la sélection
                //    box.parentNode.parentNode.classList.remove('on');
                box.closest('td').classList.remove('on');
            }
            show_results();
        });
     
        // 3- inverser la sélection
        let btnInvert = document.querySelector('button[name="btn-invert"]');
     
        btnInvert.addEventListener('click', function () {
            for (let box of allBoxes) {
                box.checked = !box.checked;
                //    box.parentNode.parentNode.classList.toggle('on');
                box.closest('td').classList.toggle('on');
            }
            show_results();
        });
     
        // 4- Envoyer
        let btnEnvoi = document.querySelector('button[name="btn-envoi"]');
     
        btnEnvoi.addEventListener('click', function (ev) {
            ev.stopPropagation();
            ev.preventDefault();
     
            console.log(`Soumission interrompue, voir les résultats : `);
     
            let resultats = show_results();
     
            document.querySelector('#Aff').textContent = `Il y a ${ resultats.length } nombres : ${ resultats.join(', ')}.`;
        }, {
            capture: false,
            passive: false,
            once: false
        });
     
        function compareNombres(a, b) {
            return a - b;
        }
     
        function show_results() {
            let
                show_results = document.getElementById('show-results'),
                nbre_results = document.getElementById('nbre-results'),
                results = [];
     
     
            for (const box of allBoxes) {
     
                if (box.checked) {
                    results.push(Number(box.value));
                }
            }
     
            results.sort(compareNombres);
     
            show_results.textContent = results.join(', ');
            nbre_results.textContent = results.length;
     
            return results;
        }
     
     
        // fin code du test
     
    }, {
        capture: false,
        passive: true,
        once: false
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/06/2015, 09h52
  2. récupérer une valeur contenue dans une balise TD d'un tableau
    Par Himotep dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/06/2011, 22h48
  3. Réponses: 10
    Dernier message: 05/02/2008, 14h37
  4. Comment afficher une valeur contenue dans une variable ?
    Par manubrard dans le forum Langage
    Réponses: 5
    Dernier message: 20/02/2006, 15h56
  5. Réponses: 2
    Dernier message: 11/12/2004, 21h20

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