Rechercher : dans
Par :

Faire apparaitre un div apres qu'une checkbox

Dernière réponse le 7 aoû 2008 à 17:23:54 nicusjam, le 7 aoû 2008 à 11:37:12 
 Signaler ce message aux modérateurs

Bonjour,
J'ai un formulaire avec 4 div, et une checkbox au debut de chaque div . Coté resultat je souhaite que quand la checkbox de ma 1ere div est cochée, la seconde div s'affiche, et ainsi de suite. Je veux mettre un script js pour ça, mais je galere un peu . Voici une portion du code/


<div id="DI" style="visibility:hidden; position:absolute; align:left;  width:790px; height:30px; margin-top:29px; background-color: ; ">
			  <tr  bgcolor="#FFFFFF">
                     
				  <td width="20"><input id="checkbox_di" name="di" type="checkbox" class="Style1" value="checked" onClick="montrerDiv(this);"  /></td>
                  <td width="100"> DI</td>
                  <td width="180">
				  <script language="JavaScript" type="text/JavaScript" >
function montrerDiv(checkbox_di)
				  {
	if(checkbox_di.checked == true)
	{
		document.getElementById('AVP').style.visibility = visible;
	}
	else
	{
		document.getElementById("AVP" + checkbox_di.value).style.visibility = hidden;
	}
}  
				  </script>


DI est ma 1ere div, la checkbox qui correspond est checkbox_di, la 2eme div est AVP.

Merci pour votre aide ! Cordialement.
Configuration: Windows 2003
Firefox 2.0.0.16

Meilleures réponses pour « Faire apparaitre un div apres qu'une checkbox » dans :
Windows 7: Faire apparaitre la commande exécuter VoirTout comme sous Vista, par défaut la commande Exécuter n’apparaît pas dans le menu Démarrer de Windows 7. Il faut taper Exécuter dans Rechercher pour y accéder. Si l'on veux faire apparaître cette commande de manière permanente dans le menu...
Créer une DIV avec transparence VoirLes DIV transparents en CSS Vous voulez rendre une DIV transparente ? Rien de plus simple, il suffit d'utiliser une des techniques CSS suivantes : Rendre le DIV ainsi que le contenu transparent Le div lui même sera transparent, mais aussi...

1

ddez, le 7 aoû 2008 à 15:09:23
  • +1

Salut

Je pense que ce code est à peu près ce que tu cherches à faire :

<style>
 div.divCachee{
   visibility:hidden;
   position:absolute;
 }
 div.divCachee, div.divPasCachee{
   display:inline;  /*car j'ai cru comprendre que tu voulais les aligner horizontalement (sinon, cette ligne est à virer)*/
 }
</style>
<script>
 var mesDivs=new Array("DI","AVP","DIV3","DIV4");
 var str="";
 var premier=true;
 for(var i=0;i<mesDivs.length;i++){
   str+=" <div id='"+mesDivs[i]+"' class='";
   if(premier){
     str+="divPasCachee";
     premier=false;
   }
   else{
     str+="divCachee";
   }
   str+="'>";
   str+="<input type='checkbox' name='"+mesDivs[i]+"' class='Style1' onClick='verif(this,"+i+")'>";
   str+=mesDivs[i];
   str+="</div>";
 }
 document.write(str);
 
 verif=function(){
   if(arguments[0].checked){
     if(arguments[1]<(mesDivs.length-1)){
       document.getElementById(mesDivs[arguments[1]+1]).className="divPasCachee";
     }
   }
   else{
     for(var _i=arguments[1]+1;_i<(mesDivs.length);_i++){
       document.getElementById(mesDivs[_i]).className="divCachee";
       document.getElementById(mesDivs[_i]).checked=false;
     }
   }
 };
</script>

Répondre à ddez

2

 nicusjam, le 7 aoû 2008 à 17:23:54

Mult mercis ddez !

Je teste ta proposition de code dès ce soir, là je pars du boulot, j'ai trop galéré avec mon code, y'a des jours comme ça où je m'empêtre... Mais là à lire ton code je pense qu'il y a des subtilités qui m'avaient échappées ! Merci encore de ta disponibilité ! Cdlt, Nicus.

Répondre à nicusjam