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 :

Parcourir un tableau html en javascript


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 50
    Points : 45
    Points
    45
    Par défaut Parcourir un tableau html en javascript
    Bonjour,

    je suis en train de créer un planning journalier qui pourra m'afficher des évenements.

    J'ai créer un tableau html (visuel) grâce au php :
    Code php : 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
    <table>
    <tr><td>heure</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td></tr>
    <?php	
    		$heure_debut = "07:00";
    		$heure_fin = "23:00";
    		$count = "0";
    		$d = new DateTime($heure_debut);
    		while ($d->format('H:i') <= $heure_fin){
    			$tab_date = $d->format('H:i') ;
    			$d->modify("+30min");
    			echo "<tr><td>".$tab_date."</td>";
    			$count++;
    			for($col = 1 ; $col <=6 ; $col++){
    				echo '<td id="'.$col.','.$count.'">Colonne : '.$col.' Ligne :'.$count.'</td>';
    			}
    			echo "</tr>";
    		}
    ?>
     
    </table>

    Ce qui me donne :



    Ensuite je vais récupérer des évenements dans une base de données pour les afficher en fonction de l'heure de début et de fin, ainsi que du type(numérotation de 1 à 6).

    J'ai, pour un évenement, 2 coordonnées (Abscisse et Ordonnée).

    Je ne sais pas comment m'y prendre pour par exemple : sélectionner la case qui corresponds à 12h00 (abscisse), et sur le type 6 (ordonnée).

    Bien cordialement,

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 048
    Points : 44 562
    Points
    44 562
    Par défaut
    Bonjour,
    tu peux accéder à une cellule particulière en utilisant la collection rows de la table et la collection cells de chaque rows.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // affiche le contenu de la 2éme cellule de la 3éme ligne
    console.log( oTable.rows[2].cells[1].textContent);

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    Parfait ta solution fonctionne très bien.
    J'en profite pour poser une autre petite question :
    Voilà mon code :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var ligne = 20;
    var colonne = 6;
    var cellule = table1.rows[ligne].cells[colonne];
    var table = document.getElementById("table1"); 
    cellule.setAttribute("rowspan","3");
    cellule.style.backgroundColor="red";

    Vu que mon but est d'afficher des événements qui vont prendre plusieurs ligne "TD" de mon tableau. J'ai essayer de mettre des rowspans. Le souci c'est qu'il faudrait que je supprimer les lignes du dessous pour que mon rowspan ne me décale pas mes cellules.

    Exemple: rowspan=2, je dois supprimer la cellule de ma ligne du dessous.

    Est ce qu'il y aurait un moyen de contourner le problème sachant que la valeur de mon rowspan va être différente à chaque fois ?

    Merci d'avance

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 048
    Points : 44 562
    Points
    44 562
    Par défaut
    Dans le principe il te suffit effectivement de supprimer autant de cellules en dessous que tu as besoin de place, cela peut donner un truc du style de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var lig = 1;
    var col = 2;
    var haut = 3;
    var cellBelow;
    var cell = oTable.rows[lig].cells[col];
     
    cell.setAttribute( 'rowspan', haut);
    cell.style.backgroundColor= 'red';
     
    for( var i=1; i < haut; i++){
      cellBelow = oTable.rows[ lig+i].cells[col];
      cellBelow.parentNode.removeChild( cellBelow);
    }

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 50
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    Très bien, j'ai réussi à faire ce que je voulais avec ton morceau de code.

    Merci bien

    A la prochaine

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 05/06/2013, 11h13
  2. Suppression de colonne d'un tableau html en javascript
    Par moucharraf dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/01/2013, 13h04
  3. Conception, manipulation tableau HTML en Javascript
    Par Rifton007 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/10/2012, 16h18
  4. Parcourir un tableau html
    Par webpxis dans le forum Langage
    Réponses: 15
    Dernier message: 30/06/2010, 14h18
  5. [DOM] integration d'une liste dans un tableau html en javascript
    Par bb62 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 08/06/2007, 16h03

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