Changement dynamique des données

Signaler
Messages postés
9
Date d'inscription
lundi 15 avril 2013
Statut
Membre
Dernière intervention
15 avril 2013
-
Messages postés
90
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
31 mars 2014
-
Bonjour à tous

je souhaiterais obtenir une aide en deux points:

1/
comment changer les infos de la deuxieme selection a partir du premier choix
si on choisi creation de site le second choix doit contenir seulement les choix SITE 1 ET SITE 2
si on choisi creation de logiciel le second choix doit contenir seulement les choix Logiciel 1 ET logiciel 2



<form action="contact.php" method="post">
Votre demande :

  <label>
    <select>
      <option>creation de site web</option>
      <option>creation de logiciel</option>
        </select>
      </label>
    


choisissez la formule : (les infos d'ici doivent changer en fonction de la selection précédente)

  <label>
    <select>
        <option>SITE web1</option>
          <option>SITE web2</option>
      <option>logidiel1</option>
          <option>logidiel2</option>
      
        </select>
      </label>











</form>


2/
Comment faire pour que en fonction des choix effectué, le message ne contienent seulement que les champs selectionné

toute aide sera la bien venu
Merci d'Avance

2 réponses


Salut,

Tu as plusieurs façons de faire. Tu peux choper des valeurs à partir d'une BDD en AJAX, sauf que là visiblement tu as mis toutes tes valeurs en dur. L'idée, c'est que tu définisses une fonction en JavaScript qui va être appelée lorsqu'on va utiliser ta première liste. Cette fonction devra récupérer la valeur selectionnée, et en fonction de ça va remplir ton autre liste. Tu utilises un framework particulier style jQuery ou MooTools, ou tu fais tout en JavaScript classique ?

Pour ce qui est de ton deuxième point, je n'ai rien compris.

--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.
Messages postés
90
Date d'inscription
mardi 6 octobre 2009
Statut
Membre
Dernière intervention
31 mars 2014

Bonjour,

Pylouq a raison, mettre les valeurs en dur n'est pas une très bonne idée.
Mais puisque c'est déjà comme ça, voici une solution

<script type="text/javascript">
function show_web(sender){
var web = new Array();
var log = new Array();
var i;
web = document.getElementsByClassName("web");
log = document.getElementsByClassName("log");
if (sender.value == "web"){
for(i=0;i<web.length;i++){
web[i].style.display = "block";				
}
for(i=0;i<log.length;i++){				
log[i].style.display = "none";					
}
}else{
for(i=0;i<web.length;i++){			
web[i].style.display = "none";				
}
for(i=0;i<log.length;i++){
log[i].style.display = "block";			
}
}
}

</script>


<form action="contact.php" method="post">
Votre demande :

  <label>
<select onChange="show_web(this)">
  <option value="web">creation de site web</option>
  <option value="log">creation de logiciel</option>
</select>
  </label>


choisissez la formule : (les infos d'ici doivent changer en fonction de la selection précédente)

  <label>
<select>
<option class="web">SITE web1</option>
<option class="web">SITE web2</option>
<option class="log">logidiel1</option>
<option class="log">logidiel2</option>
  
</select>
  </label>











</form>


Ce code fonctionne mais il faut l’améliorer. Le filtre n'est pas appliqué.
C'est juste une idée. A toi de continuer.