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 :

Comment masquer plusieurs cellules à la fois


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Par défaut Comment masquer plusieurs cellules à la fois
    Bonjour à toutes et à tous!
    Voila je viens vous exposer mon problème assez particulier. Je dois réaliser une page qui permet en outre de selectionner un nombre entre 1 et 6 et de voir l'image correspondante à une armoire se modifier (la ok) mais aussi le tableau concernant cette armoire. En effet, si je sélectionne 5 le tableau possédera 5 colonnes, 4 il possédera 4 colonnes ...
    Bref, avec jQuery j'avais très bien réussi mais que sous firefox;

    Je faisais comme ceci:

    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
     
    			/* On convertit en integer puis on va appliquer le nouveau style */
    		number = parseInt(number);
    		var cpt = number + 1 ;
    		for(var i = cpt ; i<7 ; i++)
    		{
    			var id = 'c'+i;
    			var objet = document.getElementById(id);
    			$(objet).hide();
    		}
     
    		for(var i = cpt ; i<7 ; i++)
    		{
    			var objet = document.getElementsByName(i);
    			$(objet).hide();
     
    		}
    Je modifiais donc les "entêtes" du nom de C1, C2, ... puis je masquais toutes les cellules dont le nom était 1,2 ou 3 ...
    Bref, sous IE cela ne fonctionnait pas car j'ai l'impression que cela l'embête qu'il y ait un nœud enfant dans la cellule (en l'occurrence un input radio)
    Voici un bout de mon code HTMl:

    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
     
    <td class="td_9" name="c1" id="c1">	
    	C1
    </td>	
    <td class="td_10" name="c2" id="c2">	
            C2
    </td>	
    <td class="td_10" name="c3" id="c3">	
    	C3
    </td>	
    <td class="td_10" name="c4" id="c4">	
    	C4
    </td>	
    <td class="td_10" name="c5" id="c5">	
    	C5
    </td>	
    <td class="td_10" name="c6" id="c6">	
    	C6									</td>												
    </tr>
    <tr>
    <td class="td_9" rowspan="8" style="width:90px;">										      <b>Largeur des cellules</b>
    </td>
    <td class="td_4" style="width:150px;">	
    	300
    </td>
    <td class="td_1" name="1">
              <INPUT TYPE="radio" NAME="largeur_cellule_c1" class="required" ID="largeur_cellule_c1_1" value="300" />
    </td>
    <td class="td_5" name="2">
    												   <INPUT TYPE="radio" NAME="largeur_cellule_c2"  ID="largeur_cellule_c2_1"  value="300" />
     
    </td>
    <td class="td_5" name="3">
    												<INPUT TYPE="radio" NAME="largeur_cellule_c3"  ID="largeur_cellule_c3_1" value="300" />
     
    </td>
    <td class="td_5" name="4">
    												<INPUT TYPE="radio" NAME="largeur_cellule_c4"  ID="largeur_cellule_c4_1" value="300" />
     
    </td>
    <td class="td_5" name="5">
    												<INPUT TYPE="radio" NAME="largeur_cellule_c5"  ID="largeur_cellule_c5_1" value="300" />
     
    </td>
     
    <td class="td_5" name="6">
    												<INPUT TYPE="radio" NAME="largeur_cellule_c6"  ID="6_1" value="300" />
    											</td>											
     
    </tr>
    En plus, il faut remarquer que le document.getElementsByName n'est pas très fonctionnel sous IE. Helas, je suis bien obligé de leur donner le même nom car il s'agit d'agir sur une vingtaine de lignes et oui!! Donc utilisation d'ID impossible!! J'ai également bien pensé à donner a mes input le même nom la ça fonctionne mais apré impossible de traiter correctement le formulaire.
    Bref auriez-vous une idée pour que je puisse cacher ses *** de colonnes sous IE? Peut-être une piste pour récupérer les enfants, les masquer puis les parents?

    Merci d'avance pour votre aide!!!


    Edit: Je precise que le test sur une cellule avec un objet = document.getElementById(id) puis $(objet).hide() fonctionne sous IE.
    C'est fou quand même ça marche sur l'id mais pas sur le nom!!

  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
    Salut,
    Puisque tu codes avec jQuery, pourquoi n'utilises-tu pas ses sélecteurs ?
    Plutôt que de donner des name identiques, affecte plutôt une classe et tu récupères tes éléments avec :
    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
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,
    La balise td n'a pas d'attribut name.

  4. #4
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    un début de solution?

    http://javatwist.imingo.net/test.htm

    (je n'y ai pas retouché depuis longtemps mais je vais regarder)

  5. #5
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Par défaut
    Désolé de la réponse tardive mais c'est résolu j'ai procédé via les ID en incrementant
    Merci pour vos interventions

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/03/2009, 12h43
  2. Comment selection plusieur cellules avec Cells?
    Par darkspoilt dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/07/2007, 12h56
  3. Comment masquer une cellule d'un DataGridView ?
    Par StormimOn dans le forum Windows Forms
    Réponses: 11
    Dernier message: 14/06/2007, 15h00
  4. Réponses: 1
    Dernier message: 30/12/2006, 10h30
  5. Comment effacer plusieurs tables à la fois ?
    Par AsmCode dans le forum Requêtes
    Réponses: 8
    Dernier message: 07/03/2006, 16h41

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