selectionner un select et le select suivant ce modifie suivant son choix du 1er select ainsi de suite

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : selectionner un select et le select suivant ce modifie suivant son choix du 1er select ainsi de suite

Re: selectionner un select et le select suivant ce modifie suivant son choix du 1er select ainsi de suite

par Spols » 11 août 2017, 15:28

selectionner un select et le select suivant ce modifie suivant son choix du 1er select ainsi de suite

par azizss » 11 août 2017, 14:34

Bonjour tous le monde,

Voilà je cherche de l'aide, sur un sujet et je ne trouve pas d'exemple.

Je voudrais crée un formulaire qui, puisse quant on choisi un select ce modifié.
je m'explique.

J'ai un 1er select pays
- FRANCE
- BELGIQUE

Quant on choisie la FRANCE
on le 2eme select affiche les villes de France

exemple Marseille

Puis on n'a 3eme select qui la liste des code postal (suivant le pays), quant il y a plusieurs choix qui s'affiche de la ville
exemple 13001 - 13002 etc ... est on fait son choix,

ainsi de suite le département et la région.

J'ai déjà fait cela mais je n'arrive pas a faire un 3eme select ainsi de suite :

Code : Tout sélectionner

<div id = "test"> <select class="field" v-model = "category" v-on:change="onChange" id="select1"> <option value="pays">Pays</option> <option value="france">France</option> <option value="belgique">Belgique</option> </select> <select id="select2" v-model= "list" class="field"> <option v-for="option in options" v-bind:value="option.value"> @{{option.text}} </option> </select> </div>

Code : Tout sélectionner

<script> new Vue({ el: '#test', data: { category: 'pays', list: '', optionsData: { pays: [ { text: 'Région', value: '' }, ], france: [ { text: 'Région', value: '' }, { text: 'Auvergne-Rhône-Alpes', value: 'auvergne-rhône-alpes' }, { text: 'Bourgogne-Franche-Comté', value: 'bourgogne-franche-comté' }, { text: 'Bretagne', value: 'bretagne' }, { text: 'Centre-Val de Loire', value: 'centre-val de loire' }, { text: 'Corse', value: 'corse' }, { text: 'Hauts-de-France', value: 'Hauts-de-france' }, { text: 'Île-de-France', value: 'ile-de-france' }, { text: 'Normandie', value: 'normandie' }, { text: 'Nouvelle-Aquitaine', value: 'nouvelle-aquitaine' }, { text: 'Occitanie', value: 'occitanie' }, { text: 'Pays de la Loire', value: 'pays de la loire' }, { text: 'Provence-Alpes-Côte d\'Azur', value: 'provence-alpes-côte d\'azur' }, ], belgique: [ { text: 'Région', value: '' }, { text: 'Bruxelles Capitale', value: 'bruxelles capitale' }, { text: 'Flandres', value: 'flandres' }, { text: 'Wallonie', value: 'wallonie' }, ], } }, computed: { options: function() { let options = '' switch(this.category) { case 'pays': options = this.optionsData.pays break; case 'france': options = this.optionsData.france break; case 'belgique': options = this.optionsData.belgique break; default: options = this.optionsData.pays } return options } }, methods: { onChange: function () { this.options = this.options } } }) </script>
Voilà,

Merci de votre aide,