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 :

Afficher deux parties d'un tableau dans deux div


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2016
    Messages : 23
    Par défaut Afficher deux parties d'un tableau dans deux div
    Bonjour à tous!

    Quand je clique sur une carte, je souhaiterais afficher l'attribut ID de mon GeoJSON dans une div et le reste des informations dans une autre div.
    Pour le moment j'arrive à afficher les attributs dans une div. Ne sachant comment m'y prendre, j'ai voulu écrire une deuxième fois la fonction en changeant la div de destination mais cela ne fonctionne pas.
    une partie du 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
     
    <html>
    <head>
    </head>
    <body>
     
        <div id="contenu">   
      		<div id="map"></div>
    <script>
     var container = document.getElementById('attributsdiv');
             if (features.length > 0) {
              var info = [];
     
              for (var i = 0, ii = features.length; i < ii; ++i) {
                info.push("identifiant : ");
                info.push(features[i].get('id'));
                info.push("personne : ");
                info.push(features[i].get('PE_2000'));
                info.push("activite : ");
                info.push(features[i].get('activite'));       
     
              }
              container.innerHTML = info.join(' ') || '(unknown)';
            } else {
              container.innerHTML = '&nbsp;';
            }
            };
    // suite du code avec les variables du GeoJSON, de la carte...
     
     </script> 
     
      		<div id="persodiv"></div>
      		  <div id="informationsdiv"></div>
      	</div>  	
       </body>
      </html>
    Question subsidiaire: tout s'affiche à la suite. Je voudrais que les infos 'personne' (+ sa valeur) et 'activite' (+ sa valeur) soient l'une en dessous de l'autre.
    Quelqu'un a t-il des suggestions?
    Merci

  2. #2
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Septembre 2016
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable des études

    Informations forums :
    Inscription : Septembre 2016
    Messages : 23
    Par défaut
    Bonjour à tous!

    Pour obtenir un affichage, par exemple la première colonne de mon tableau dans une div et le reste dans dans une autre div, j'ai tout simplement dédoublé le code. Je suppose qu'il y a mieux mais cela fonctionne.

    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
     
     var container = document.getElementById('identifiant_attributsdiv');
             if (features.length > 0) {
              var info = [];
               for (var i = 0, ii = features.length; i < ii; ++i) {
                info.push("identifiant : ");
                info.push(features[i].get('id'));}
               container.innerHTML = info.join(' ') || '(unknown)';
             };
     
            var container = document.getElementById('attributsdiv');
             if (features.length > 0) {
              var info = [];
     
              for (var i = 0, ii = features.length; i < ii; ++i) {
                info.push("personne : ");
                info.push(features[i].get('PE_2000'));
                info.push("activite : ");
                info.push(features[i].get('activite'));
     
              }
              container.innerHTML = info.join(' ') || '(unknown)';
            } else {
              container.innerHTML = '&nbsp;';
            }
            };
    Avec bien entendu une deuxième div "identifiant_attributsdiv".
    Toutefois, en ce qui concerne l'affichage des données dans la div, je n'arrive toujours à faire apparaître les attributsles uns en dessous des autres, malgré l'utilisation css de la div. En mettant des balises html au niveau de la div, je peux changer le texte affiché sans problème....seule la balise <br></br> ne fait pas d'effet .

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/03/2010, 00h02
  2. Utilisation d'un tableau dans deux classes
    Par Yokooo dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 30/07/2009, 16h41
  3. diviser son tableau en deux parties
    Par mademoizel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 19/01/2008, 09h37
  4. [AJAX] Recharger deux parties d'une page dans la même fonction.
    Par drakar dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/09/2007, 12h20
  5. Réponses: 10
    Dernier message: 07/12/2006, 20h52

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