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 :

Cacher/Afficher une ligne de tableau


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 224
    Par défaut Cacher/Afficher une ligne de tableau
    Bonjour

    J'ai le code JS suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function cacher(){
    			var champs = document.getElementsByTagName('input');
    			for(var i=0;i<champs.length;i++) {
    				var c = champs[i];
    				if(c.type.toLowerCase( )== 'checkbox' && c.name == 'demi' && c.checked){
    					document.getElementById('test').style.display = "block";
    				}
    				else{
    					document.getElementById('test').style.display = "none";
    				}
    			}
    		}
    Normalement il me permet de cacher/afficher la ligne d'un tableau lorsque je coche/décoche une checkbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...
    matin <input type="checkbox" name="demi" value="matin" onClick="javascript:cacher();" /> apr&egrave;s-midi <input type="checkbox" name="demi" value="am" onClick="javascript:cacher();" />
    						</td>
    					</tr>
    					<tr id="test">
    						<td>Date de fin</td>
    ...
    Le fait de cocher une case me cache bien la ligne. Par contre le fait de la décocher n'affiche pas à nouveau la ligne.

    Que faut-il faire?

    Merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('test').style.display = "block";
    Le display d'une balise <tr> ,'est pas block mais table-row, qui n'est pas reconnu par tous les navigateurs.
    Le plus simple est d'attribuer une chaine vide qui rétablira la valeur par défaut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('test').style.display = "";
    Ceci dit, je doute fort que le code fonctionne si tu coches le premier checkbox...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirmé Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 224
    Par défaut
    Le fait de mettre une chaîne vide ne change rien, la ligne du tableau ne s'affiche toujours pas. Même chose avec "table-row".

    Du coup je me demande si il faudrait que je cache autre chose que le TR du tableau ...

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    mets des alert() dans ton code et tu comprendras tout de suite le problème

    ta ligne ne réapparaîtra que si tu coches les 2 checkbox

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Reste aussi à savoir si "test" est bien un id unique dans la page.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre confirmé Avatar de Baldy
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 224
    Par défaut
    On m'avait que les tableaux HTML c'était le démon!

    Finalement j'ai revu ma mise en page, j'utilise maintenant les P et DIV et évidemment ça marche beaucoup mieux.

    Je vous ai embêté pour rien.

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

Discussions similaires

  1. Afficher une ligne a partir d'un tableau
    Par Ys6BcinMZrSO dans le forum Deski
    Réponses: 7
    Dernier message: 09/07/2013, 16h38
  2. [MySQL] Comment afficher une ligne d'un tableau dans un formulaire en la selectionnant
    Par eddycool dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/05/2009, 15h49
  3. Réponses: 6
    Dernier message: 13/05/2009, 15h26
  4. Réponses: 10
    Dernier message: 08/04/2008, 11h14
  5. afficher une ligne contante sur le graphe d'un DBChart ?
    Par bigfoot dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/12/2004, 16h33

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