Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/06/2011, 14h00   #1
Membre à l'essai
 
Inscription : mai 2008
Messages : 83
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 83
Points : 21
Points : 21
Par défaut Cacher une option d'un select en fonction d'un autre select

Bonjour à tous,

Voilà, j'essaie de faire une fonction javascript ou jQuery qui me permette de cacher une option d'un select.

Je m'explique :
J'ai deux <select> avec des options bien différentes dans les deux.
Seulement j'ai une contrainte me disant que la deuxième option de la seconde liste ne peut être sélectionnable si et seulement si l'option 1 du premier select est sélectionné.

Autrement dit, si je n'ai pas choisis la 1ère option de la première liste, je ne dois voir que la première option de la deuxième liste.

Ca parait simple mais je n'arrive absolument pas à faire ce que je désire.

J'ai essayé différentes choses comme :
Code :
1
2
3
4
5
6
7
8
 
function disableChoice()
            {
                $('#test').hide(); // id de l'option a cacher
                if($('#code).val() != 'truc') { // Id du premier select
                    $('#test').show();
                }
            };
Ou encore :

Code :
1
2
3
4
5
6
7
8
 
function disableChoice()
            {
                $('#test').attr('disabled="disabled"'); // id de l'option a cacher
                if($('#code).val() != 'truc') { // Id du premier select
                    $('#test').attr('selected="selected"');
                }
            };
Mais sans succès...

Pourriez-vous m'aider ?
Je suis preneur de toute solution, aussi bien en cachant l'option qu'en la grisant etc...

Merci d'avance.
Tyra3l est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 14h53   #2
Futur Membre du Club
 
Homme
Responsable de projet fonctionnel
Inscription : mars 2006
Messages : 41
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Responsable de projet fonctionnel
Secteur : Distribution

Informations forums :
Inscription : mars 2006
Messages : 41
Points : 15
Points : 15
Tu dois pouvoir le faire avec une fonction javascript dans ce style :

Code :
document.getElemenyById('tonSelect2').innerHTML = 'la liste de tes selects';
Quite à boucler de cette manière :

Code :
1
2
3
4
5
for (i=0; i<maListeDeSelect.length; i++) {
  if !((i==1) && (document.getElementById('idDuSelect1').value == 'valeur2')) {
    document.getElemenyById('tonSelect2').innerHTML = maListeDeSelect[i];
  }
}
Dave Lopeur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2011, 16h18   #3
Membre à l'essai
 
Inscription : mai 2008
Messages : 83
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 83
Points : 21
Points : 21
Merci beaucoup de ta réponse.

Toutefois, j'ai opté pour une autre solution plus simple :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript">
                /**
                 * Allow second choice only if the system code is SAP
                 */
            function disableChoice()
            {
                if($('#code').val() != 'truc') {
                    $('#test').attr('disabled', 'disabled');
                } else {
                    $('#test').removeAttr('disabled');
                }
            };
</script>
Merci encore pour l'aide.

Bonne journée
Tyra3l est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h50.


 
 
 
 
Partenaires

Hébergement Web