besoin d'aide sur probleme de div déployables ...

WRInaute accro
je vous expose le pb : j'ai un premier groupe de trois div (listprof, listpers,listlieu) qui sont deployées en alternance (listprof etant celle qui est deployée par defaut a l entree dans la page). J'ai donc dans le code :

Code:
<script> 
var zoneslist = ["listprof","listpers","listlieu"];
function deployerlist(identifierlist)
{
      for ( var i in zoneslist)
      {
            if (zoneslist[i] != identifierlist)	{ document.getElementById(zoneslist[i]).style.display="none"; }
            else				{ document.getElementById(zoneslist[i]).style.display="block"; }
      }
}
</script>

<?php
			echo('<div id="listprof" style="display:block">');
				include("administration_droite_ok_bloc_list_pro.php");
			echo('</div>');
			echo('<div id="listpers" style="display:none">');
				include("administration_droite_ok_bloc_list_pers.php");
			echo('</div>');
			echo('<div id="listlieu" style="display:none">');
				include("administration_droite_ok_bloc_list_lieu.php");
			echo('</div>');
?>

J'ai un peu plus loin dans la page un second groupe de div (formprof, formpers, formlieu) qui fonctionne exactement de la meme maniere (formprof etant celle qui est deployée par defaut a l entree dans la page). . j'ai donc dans mon code :

Code:
<script>
var zones = ["formprof","formpers","formlieu"];
function deployer(identifier)
{
      for ( var i in zones)
      {
            if (zones[i] != identifier)	{ document.getElementById(zones[i]).style.display="none"; }
            else			{ document.getElementById(zones[i]).style.display="block"; }
      }
}
</script>

<?php
			echo('<div id="formprof" style="display:block">');
				include("administration_droite_ok_bloc_form_pro.php");
			echo('</div>');
			echo('<div id="formpers" style="display:none">');
				include("administration_droite_ok_bloc_form_pers.php");
			echo('</div>');
			echo('<div id="formlieu" style="display:none">');
				include("administration_droite_ok_bloc_form_lieu.php");
			echo('</div>');
?>

Mon probleme : je voudrais que listprof et formprof soient synchronisée (si on deploie listform, je veux que formprof se déploie et lycée de versailles).

Je préssens que ca doit être un tout petit truc a ajouter mais comem je suis toujours scriptrank 0 :roll: Si un adepte des div a la soluce ...
 
WRInaute accro
j'ai oublié un bout de code ... Bien sur au sein des includes on trouve un truc de ce style :

Code:
		<table width="<?php echo($Largeur); ?>" height="20" border="0" valign="top" cellpadding="0" cellspacing="0"><tr>
			
			<a onclick="deployerlist('listprof')" style="cursor:pointer">
			<td width="<?php echo($Largeur/3); ?>" bgcolor="#dddddd" border="0" align="center" valign="center">
				<b><?php echo($nb_res_prof); ?> Professionnel(s)</b>
			</td>
			</a>

			<a onclick="deployerlist('listpers')" style="cursor:pointer">
			<td width="<?php echo($Largeur/3); ?>" bgcolor="#eeeeee" border="0" align="center" valign="center">
				<u><?php echo($nb_res_pers); ?> personne(s)</u>
			</td>
			</a>

			<a onclick="deployerlist('listlieu')" style="cursor:pointer">
			<td width="<?php echo($Largeur/3); ?>" bgcolor="#eeeeee" border="0" align="center" valign="center">
				<u><?php echo($nb_res_lieu); ?> lieu(x)</u>
			</td>
			</a>
</tr></table>


qui permet de deployér telle ou telle liste ... et idem pour les form ..
 
WRInaute accro
Bon ben comme ca semble pas inspirer de smasses, j'ai tatonné et au final c'ets effectivement tout simple :

Code:
<script> 
var zoneslist = ["listprof","listpers","listlieu"];
function deployerlist(identifierlist)
{
      for ( var i in zoneslist)
      {
		if (zoneslist[i] != identifierlist)	
		{
			document.getElementById(zoneslist[i]).style.display="none";
			document.getElementById(zones[i]).style.display="none";
		}
		else				
		{
			document.getElementById(zoneslist[i]).style.display="block";
			document.getElementById(zones[i]).style.display="block";
		}
      }
}

var zones = ["formprof","formpers","formlieu"];
function deployer(identifier)
{
      for ( var i in zones)
      {
		if (zones[i] != identifier)	
		{
			document.getElementById(zones[i]).style.display="none";
			document.getElementById(zoneslist[i]).style.display="none";
		}
		else			
		{
			document.getElementById(zones[i]).style.display="block";
			document.getElementById(zoneslist[i]).style.display="block";
		}
      }
}
</script>

Me v'la javascriprank 0,5 :)
 
WRInaute accro
Et comme les deux fonctions sont maintenant identiques, tu peux en virer une et changer les appels correspondants :)

Tu peux aussi ne conserver qu'une seule liste ["prof","pers","lieu"] et utiliser "list"+zones / "form"+zones pour simplifier.

Jacques.
 
Discussions similaires
Haut