Affiché le mot lors du clique

Résolu/Fermé
mathieu - 21 juil. 2016 à 10:55
 mathieu - 24 juil. 2016 à 01:02
Bonjour,

j'ai fait en html

											   <div class="selectnormal" data-name="mois">
											   
											   <span>Mois</span><div class="cursor"></div>
											   
<ol class="options">
                     <li class="option" data-value="Janvier">Janvier</li>
					 <li class="option" data-value="Février">Février</li>
					 <li class="option" data-value="Mars">Mars</li>
					 <li class="option" data-value="Avril">Avril</li>
					 <li class="option" data-value="mai">Mai</li>
					 <li class="option" data-value="Juin">Juin</li>
					 <li class="option" data-value="Juillet">Juillet</li>
					 <li class="option" data-value="Août">Août</li>
					 <li class="option" data-value="Septembre">Septembre</li>
					 <li class="option" data-value="Octobre">Octobre</li>
					 <li class="option" data-value="Novembre">Novembre</li>
					 <li class="option" data-value="Décembre">Décembre</li>
</ol>
											   
											   
											   </div>


là ca doit consisté si on clique sur mars ou avril ca se mettre dans la balise span on remplace mois par avril


ensuite ce code html

											   <div class="selectmultiplechoix" data-name="choix">
											   
											   <span>choix</span><div class="cursor"></div>
											   
<ol class="options">
                    <li><input type="radio" name="mode_paiement" value="1" class="mod"/> Choix 1</li>
					<li><input type="radio" name="mode_paiement" value="2" class="mod"/> Choix 2</li>
					<li><input type="radio" name="mode_paiement" checked="checked" value="3" class="mod" /> Choix 3</li>
					<li><input type="radio" name="mode_paiement" value="4" class="mod" />Choix 4</li>
					<li><input type="radio" name="mode_paiement" value="5" class="mod"/> Choix 5</li>
					<li><input type="radio" name="mode_paiement" checked="checked"  value="6" class="mod"/> Choix 6</li>
					<li><input type="radio" name="mode_paiement" value="7" class="mod" />Choix 7</li>
					<li><input type="radio" name="mode_paiement" value="8" class="mod"/> Choix 8</li>
					<li><input type="radio" name="mode_paiement" checked="checked"  value="9" class="mod"/> Choix 9</li>
					<li><input type="radio" name="mode_paiement" value="10" class="mod"/> Choix 10</li>
</ol>
											   
											   
											   </div>



<div class="choix"><!--ici on affiche le choixcoché sous forme : choix 2, choix 3, choix 5--> </div>


le principe est le même quand on clique sur choix 1 ca se mettra dans la balise div class choix

si il coche juste un choix

il affiche juste choix 1 sans la virgule

mais par contre sil coche 2 choix
il affichera : choix 1, choix 5

etc....

j'ai mis ce code pour affiche le choix des multiple choix

$(document).ready(function(){
    $('.select').click(function(){
       $('.option').toggle(); 
    });
    
    $('input.mod').change(function(){
       var valeur = $(this).val();
       $('.choix').html('Choix '+valeur); 
    });
});


là si je clique sur choix 1 il se met bien en gras

mais le souci qu(on peut juste clique sur un choix et non plusieur choix

voir mon exemple

https://fiddle.jshell.net/1jh4n54s/

coment on peut faire afin d'afficher plusieur choix

et sinon j'ai un autre code

https://fiddle.jshell.net/npmcgwaq/

là pour le select normal si tu clique sur 100 ans ca se met dans la balise span donc là c'est bon

mais pour le select multiple choix quand on coche un choix il bug il me met paas les mots à côté

si quelqun pourrais m'aidé à réparé les bug a moin que vous avez un code simple qui prmet de faire come je veux come les exemple

merci


1 réponse

Salut,

"comment on peut faire afin d'afficher plusieurs choix"

En utilisant un tableau de variables et en affichant celui ci dans l'élément ou les éléments voulus.
C'est globalement la même chose que ce que vous avez déjà mais en plus automatisé.

Une piste par exemple:

$(document).ready(function(){
// je crée d'abord le tableau qui contiendra les variables
var tab_valeur=new Array();

    $('.select').click(function(){
       $('.option').toggle(); 
    });
    
    $('input.mod').change(function(){
// dans l'evenement "on change " on ajoute 
       tab_valeur = $(this).val();
// va rajouter au tableau chaque fois qu'un changement est effectué
 //      $('.choix').html('Choix '+valeur); 
/* faire pareil que précédemment mais avec une boucle qui parcourt toutes les valeurs du tableau pour toutes les afficher dans les éléments de classe choix*/
// ici:

    });
});


Comme vous pouvez constater ce n'est qu'une piste car on voit vite que le problème vient du raisonnement initial. Ici si on change quelque chose on ne fait que l'ajouter. Or il faudrait pouvoir effacer les valeurs que l'on ne veux plus et ce n'est pas prévu, donc quand on change de choix les choix précédents restent pris en compte.

A vous de voir selon les besoins de l'application quel raisonnement vous devez construire.
0
merci ce code marche bien

https://fiddle.jshell.net/1jh4n54s/

mais si je clique sur choix 2 il m'afiche bien choix 2

mais si je choisi t choix 3 il m'eface choix 2

hors moi j'aimerais afficher choix 2, choix3, choix 5

j'ai tester

a partit de cete ligne $('.choix').html('Choix '+valeur); de metre 'Choix '+valeur, + valeur

mais ca marche pas

si tu peut m'aider ca sera gentil
0
plutôt comme ça je crois:

tab_valeur.push($(this).val());
0
merci j'ai trouver un code

https://fiddle.jshell.net/npmcgwaq/1/

es ce qu'on peut m'expliquer coment changer la couleur du texte
et les type radio car je n'aime pas trop de ce style là quand on coche je prefere qui se met dans le carrée la croix

etc...

et aussi j'ai mis dans ma page le code , il ne fonctionne pas

car il dit ereur sur la fonction nexiste pas

<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Document sans titre</title>
<style type="text/css">
body {
padding: 10px;
}





</style>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script type="text/javascript">



$(function () {
$('select').material_select();
});


</script>

</head>

<body>
<select>
<option disabled selected>Choisissez un âge</option>
<option value="100">100 ans</option>
<option value="200">200 ans</option>
<option value="300">300 ans</option>
</select>

<select multiple>
<option disabled selected>Choisissez un âge</option>
<option value="rouge">Rouge</option>
<option value="vert">Vert</option>
<option value="bleu">Bleu</option>
</select>




</body>
</html>
0