begin process at 2012 05 29 08:20:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Div différente selon select


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Div différente selon select

mardi 22 mars 2011 à 15:21:23 | Div différente selon select

eliote23


Bonjour,

Actuellement j'utilise :
Code HTML :
<select name="zs_secteur" onchange="document.getElementById('four/stt').style.display= (this.options[this.selectedIndex].value== 'FOURNISSEUR/STT' ) ? 'block' : 'none';">

pour afficher ou pas une div à partir du choix d'un select.

Ayant beaucoup de difficulté avec le javascript, pourriez-vous m'orienter vers une solution pour ajouter une autre selon un autre choix dans la liste.


merci d'avance.

BN
mardi 22 mars 2011 à 16:58:23 | Re : Div différente selon select

nhervagault

Administrateur CodeS-SourceS
Salut,

Regardes du coté de jquery, pour travailler le javascript c'est plus facile.
mercredi 23 mars 2011 à 11:27:46 | Re : Div différente selon select

007Julien


Il est souvent plus aisé d'appeler une fonction ne serait-ce que pour cacher les containers déjà affichés.

Ceux-ci doivent cependant avoir des identifiants uniques qu'il serait bon de retrouver dans les values des options soit intégralement soit sous forme de préfixes ou suffixes (que l'on pourrait obtenir avec des instructions substring).

Dans le première hypothèse (identifiants dans les values) cela prendrait alors la forme indiquée ci-après.

Code HTML :
// Dans le document
<select name="zs_secteur" onchange="newSecteur(this)">

Code Javascript :
// Dans le script associé 
<script type="text/javascript>

// le s représente ici l'objet select désigné à l'appel par this
function newSecteur(s){var i;
  // cacher tous les containers
  for (i=0;i<s.options.length;i++) document.getElementById(s.options[i].value)='none';
  // afficher celui correspondant au select
   document.getElementById(s.options[s.selectedIndex.value])='block';   
}
</script>

Pour éviter la boucle sur tous les containers, l'on pourrait aussi retenir dans une variable globale l'identifiant du container ouvert (supposé inexistant à l'ouverture). Cela donnerait alors la variante suivante

Code Javascript :
var cntSlc=''; 
function newSecteur(s){var i;
   // Cacher le container ouvert (s'il existe)
   if (cntSlc) document.getElementById(cntSlc)='none';
   // Noter l'identifiant du container ouvert
   cntSlc=s.options[s.selectedIndex.value];  
   // L'ouvrir effectivement 
   document.getElementById(cntSlc)='block';
}



mercredi 23 mars 2011 à 14:12:30 | Re : Div différente selon select

eliote23

Merci Julien, par contre j'ai pas tous compris, je viens de tester mais je dois oublier quelque chose.
Quand tu dis :
des identifiants uniques

C'est des noms de div differents ?

qu'il serait bon de retrouver dans les values des options
Je comprends pas tout là

merci d'avance.

BN
mercredi 23 mars 2011 à 14:14:30 | Re : Div différente selon select

eliote23

Voici le code que j'ai :

Code HTML :
<html>
  <head>
    <title>Ceci est le titre de la page</title>
    <script type="text/javascript">
	// le s représente ici l'objet select désigné à l'appel par this
function newSecteur(s){
	var i;
  // cacher tous les containers
  for (i=0;i<s.options.length;i++) document.getElementById(s.options[i].value)='none';
  // afficher celui correspondant au select
   document.getElementById(s.options[s.selectedIndex.value])='block';   
}
</script>
  </head> 
  <body>
    <table>
      <tr>
        <td>
        Faites un choix :
        </td>
        <td>
          <select onchange="newSecteur(this)">
          <!--<option value="-1">None</option>!-->
            <option value="BE">BE</option>
            <option value="COM">COM</option>
            <option value="COMPTA">COMPTA</option>
           </select>
        </td>
      </tr>
      <tr>
        <td colspan="2">
          <div id="BE" style="display:block">
            <table border="0" cellspacing="3" cellpadding="0"><tr><td>blabla 1</td></tr></table>
          </div>
          <div id="COM" style="display:none">
            <table border="0" cellspacing="3" cellpadding="0"><tr><td>blabla 2</td></tr></table>
          </div>
          <div id="COMPTA" style="display:none">
            <table border="0" cellspacing="3" cellpadding="0"><tr><td>blabla 3</td></tr></table>
          </div>
        </td>
      </tr>
    </table>
  </body>
</html>


Cette discussion est classée dans : code, select, choix, div, différente


Répondre à ce message

Sujets en rapport avec ce message

afficher un div selon choix d'un select [ par pedroso ] Bonjour,je souhaiterais dans mon formulaire afficher ou non un div selon que l'on choisisse tel ou tel élément dans un liste déroulante.en l'ocurrence selectionné un élément dans mon select [ par KaiHo ] Bonjour Je me trouve face à un souci qui me semblait simple à résoudre, mais je sèche. En fait, j'ai un élément "select" d'un formulaire qui doit se Afficher/Masquer div selon choix select [ par paulito47 ] Bonjour à tous, j'ai un petit problème pour masquer une div selon le choix du select. Donc en fait, j'ai un formulaire de modification. L'utilisateu Div Cacher/Montrer [ par ghighidu63 ] Bonjour depuis quelques jours je suis confronter à un problème. Je n'arrive pas à cacher plusieurs div, c'est à dire, Quand je clique sur le div 1 ca Positionnement de DIV [ par tets88 ] Bonjour, J'ai quelque problème avec le positionnement de mes balises dans ma page html. Voici le code htlm : [code=html] Ajouter un champs a un select [ par michaelminelli1 ] Bonjour, J'ai dans une page html un champs select : [code=html] Toto [/code] Je cherche a faire en sorte que en appuyant sur l'image un champs j remove() sous IE [ par tets88 ] Bonjour, Je commence à perdre patience après toutes mes infructueuses recherches à résoudre un simple problème... Voilà, je veux simplement supprime Aide sur amélioration script [ par pascalv ] Bonjour à vous tous, J'ai récupéré un script Ajax, qui permet d'actualiser une "div" et seulement elle. [code=js] function timer(div, page){ comp=(se Comment envoyer un formulaire vers différentes pages ??? [ par sebastiez ] Bonjour, Pensant que la réponse nécessite une connaissance en javascript, je post sur ce forum et toutes mes excuses si je me suis trompé. Je call gr recuperer la valeur d'un select dans une variable [ par dansmy ] bonsoir a vous voila j'aimerais au lieu d'affiche la valeur d'un select,plutôt la sauvegarder dans une variable. le code select [code=html] Libellé


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,139 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales