Menu

Pb avec display: none sur balise <tr&gt [Résolu/Fermé]

Messages postés
8
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
26 septembre 2013
- - Dernière réponse : sese87
Messages postés
8
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
26 septembre 2013
- 15 oct. 2008 à 20:17
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
Afficher la suite 

6 réponses

Messages postés
2116
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
23 septembre 2018
215
0
Merci
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.
Messages postés
2116
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
23 septembre 2018
215
-1
Merci
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 ?
sese87
Messages postés
8
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
26 septembre 2013
-
Bonsoir,
Non pas de CSS supplémentaire,
Ca ne marche pas.
J'utilise IE7 chez moi et IE6 au boulot.

Cordialement
sese87
Messages postés
8
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
26 septembre 2013
-
Bonsoir,
Non pas de CSS supplémentaire,
Ca ne marche pas.
J'utilise IE7 chez moi et IE6 au boulot.

Cordialement
Messages postés
8
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
26 septembre 2013
-1
Merci
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
Messages postés
2116
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
23 septembre 2018
215
-1
Merci
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 ?
Messages postés
2116
Date d'inscription
jeudi 16 septembre 2004
Statut
Membre
Dernière intervention
23 septembre 2018
215
-1
Merci
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é ? ;-)
sese87
Messages postés
8
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
26 septembre 2013
-
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
Messages postés
8
Date d'inscription
dimanche 12 octobre 2008
Statut
Membre
Dernière intervention
26 septembre 2013
-2
Merci
Une seule, mais qui s'insere entre la ligne sélectionnée et la suivante
Cordialement