Pb avec display: none sur balise <tr&gt

Résolu
sese87 Messages postés 10 Statut Membre -  
sese87 Messages postés 10 Statut Membre -
Bonjour,

J'ai une page (en PHP) qui affiche une table , ou sont listés quelques renseignements.
je voudrais, en cliquant sur un lien au niveau d'une balise <tr>, affichez des renseignements complémentaires

J'ai fais quelquechose, mais l'affichage se fait au fond de mo tableau, ce que je voudrais, c"est un affichage entre la ligne et la suivante.

Mon script:

<script type="text/javascript">

function Montrer(madiv) {

if (document.getElementById(madiv).style.display == "none") {
document.getElementById(madiv).style.display = "block";
} else {
document.getElementById(madiv).style.display = "none";
}
}

</script>

<table align = center><tr>
<td ><img src="monimage1" width="20" height= "20" onclick="Montrer('detail')"; alt="Plus de renseignements" style='cursor:hand;'... /> </td>
<?php

echo '<td align = "center" > '.date("d-m-Y", strtotime($liste['date'])).' </td>';
echo '<td ><img src="monimage2">    '.$liste['monchamp1'].'</td>';
echo '<td align = "center">('.$liste['monchamp2'].')</td>';
echo '<td ><img src="monimag3e">    '.$liste['monchamp3'].'</td>';
echo '<td align = "center" >('.$liste['monchamp4'].')</td>';

echo '</tr>';

?>

<?php
} ?>
<tr align = "center" id = "detail" style="display:none" >

<td >    TTest Affichage:   </td>
<td>
<select class = "voir" name="places">
<?php for($i = 1; $i <= 4; $i++) { echo '<option class = "option">'.$i.'</option>'; } ?>
</select>
</td>
</tr>

<?php
echo '</table>';
?>

C'est peut-être uniquement un problème de ma balise "<tr align = "center" id = "detail" style="display:none" >"

Dans l'attente

Cordialement
Configuration: Windows XP
Internet Explorer 7.0

6 réponses

  1. Flachy Joe Messages postés 2303 Statut Membre 261
     
    Soit je comprend pas ce que tu cherche à obtenir soit tu as un autre problème quelque part.
    Essaye ce simple fichier :
    <table>
    <tr>
    	<td>Ligne1</td>
    	<td><a href="javascript:affich()">afficher</a></td>
    </tr>
    <tr id="tr2" style="display:none">
    	<td>Ligne 2</td>
    	<td>Suite de la ligne</td>
    </tr>
    <tr>
    	<td>Ligne 3</td>
    	<td>Suite de la ligne</td>
    </tr>
    </table>
    <script type="text/javascript">
    	function affich(){
    		document.getElementById('tr2').style.display='block';
    	}
    </script>
    Chez moi il marche parfaitement sous IE, par contre sous FireFox et Safari, il faut utiliser display="table-row" à la place de display="block" pour que les cellules du tableau correspondent.
    0
  2. Flachy Joe Messages postés 2303 Statut Membre 261
     
    Je pas comprendre tout bien très.
    Ça marche bien ton histoire, si tu fait
    <tr><td></td><td></td></tr>
    <tr style="display:none"><td></td></tr>
    <tr><td></td><td></td></tr>
    alors la ligne s'affiche bien entre les deux autre, et le tableau est agrandi.

    J'ai testé avec FireFox 3 uniquement.

    Tu n'as pas un autre style CSS qui interfère ?
    -1
    1. sese87 Messages postés 10 Statut Membre
       
      Bonsoir,
      Non pas de CSS supplémentaire,
      Ca ne marche pas.
      J'utilise IE7 chez moi et IE6 au boulot.

      Cordialement
      -1
    2. sese87 Messages postés 10 Statut Membre
       
      Bonsoir,
      Non pas de CSS supplémentaire,
      Ca ne marche pas.
      J'utilise IE7 chez moi et IE6 au boulot.

      Cordialement
      -1
  3. sese87 Messages postés 10 Statut Membre
     
    Bonsoir,
    oui, ça marche, mais pas comme je voudrais.

    en fait quand le click sur "afficher" (en début de ligne <tr>), je voudrai que s'insére un autre <tr> entre le <tr> sélectionné et le suivant '<tr + 1), et ainsi de suite jusqu'à la fin du tableau
    Es-que c'est clair
    Cordialement
    -1
  4. Flachy Joe Messages postés 2303 Statut Membre 261
     
    Ben je suis pas sur d'avoir vraiment compris non....
    Tu veux qu'il y ait combien de ligne qui apparaissent ? Une seule qui va changer de place selon la ligne sur laquelle est le bouton cliqué ou une en dessous de chaque ligne avec un seul bouton ?
    -1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Flachy Joe Messages postés 2303 Statut Membre 261
     
    J'imagine que les détails varient en fonction de la ligne cliquée, pourquoi tu ne veux qu'une seule ligne ?

    Personnellement j'aurais construit ça comme ça :

    un ligne
    la ligne de détail cachée
    une autre ligne
    la ligne de détail correspondante cachée
    etc....

    et le script plutôt que de déplacer la ligne (ça doit être faisable mais franchement galère) et en changer le contenu (sinon je voit pas l'intérêt de déplacer la ligne) afficherait les détails en cachant les autres ( si tu n'en veux qu'une lignevisible à la fois).

    ça se fait assez facilement avec une boucle en php qui génère en même temps les deux lignes et qui inscrit un id incrémental à la fois dans le code du bouton et dans le tr de la ligne cachée.

    Ça marcherai ou j'ai toujours rien pigé ? ;-)
    -1
    1. sese87 Messages postés 10 Statut Membre
       
      Bonsoir,

      Enfait, c'est pour un site de covoituage, ou on trouvera les voyages incrits, la date du déplacement, les lieux de départ et d'arrivée, et en étant incrit sur ce site , l'utilisateur pourra voir les coordonnée, adresse mail contact téléphonique de la personne qui l'a posté.
      Et c'est en cliquant sur la date (ou un icône), que je voudrais cette affichage, et que les renseignements supplémentaires soit insérréss.

      Si je ne trouve pas de solution immédiate, je vais dans un premier temps passer par un affichage du style "popup", mais, je trouve cela moins propre

      Cordialement.

      Sese87
      -1
  7. sese87 Messages postés 10 Statut Membre
     
    Une seule, mais qui s'insere entre la ligne sélectionnée et la suivante
    Cordialement
    -2