2012-12-14 3 views
2

J'ai deux listes déroulantes avec la liste des éléments 2 et 6 respectivement. Lorsque je sélectionne premier élément de menu déroulant, la liste des éléments en deuxième sera 6 et lorsque je sélectionne une autre valeur dans le premier menu déroulant, la liste des articles devrait être 5 dans le deuxième menu déroulant,Valeurs de liste déroulante dans jquery

S'il vous plaît trouver le code ici:

<select id="firstdropdown"> 
    <option value="1">Test</option> 
    <option value="2">Testing</option> 
</select> 
<select id="seconddropdown"> 
    <option value="1">test1</option> 
    <option value="2">test2</option> 
    <option value="3">test3</option> 
    <option value="4">test4</option> 
    <option value="5">test5</option> 
    <option value="6">test6</option> 
</select> 

Quelqu'un peut-il me proposer une solution en jquery ou javascript?

+2

Avez-vous n voulez-vous sélectionner les éléments avec les valeurs '5' ou' 6', ou vous voulez qu'il y ait des éléments '5' ou '6' disponibles dans la seconde sélection? Votre question n'est pas claire. En outre, les questions SO doivent inclure tout code que vous avez écrit vous-même pour trouver une solution. –

+0

Quand je sélectionne 'Test' toutes les valeurs dans la deuxième liste déroulante devraient être listées et quand je sélectionne 'Testing', seulement 5 valeurs devraient être listées dans la deuxième liste déroulante. – aruna

Répondre

0

Quelque chose comme ceci:

$("#firstdropdown").change(function() { 
    if(this.value === "1") $("#seconddropdown").val("6"); 
    else $("#seconddropdown").val("5"); 
}) 

EDIT: a ajouté un jsFiddle: http://jsfiddle.net/scaillerie/WGhLA/

+0

Je pense que OP veut une liste de 6 items ou 5 items pour seconddropdown –

6

Vous pouvez le faire de cette façon, je suppose que vous voulez afficher/masquer last élément. vous pouvez le changer à votre désiré en donnant index.

Live Demo

$('#firstdropdown').change(function(){ 
    if($(this).val() == "2") 
     $('#seconddropdown option:eq(5)').hide(); 
    else 
     $('#seconddropdown option:eq(5)').show(); 
});​ 
+0

Merci. Mais je ne pouvais pas trouver de différence. J'ai besoin de cacher le 3ème élément dans la liste, quand je choisis la valeur de l'autre élément dans la première liste déroulante. Proposez-moi une solution à cela. – aruna

2

De ma compréhension que vous supprimez un élément pour une deuxième option de la première liste déroulante

$("#firstdropdown").change(function() { 
    if(this.value === "2") $("#seconddropdown option:last").remove(); 
    //here you are just removing last item  
}) 
0

Si vous avez besoin de cacher un élément dans le menu déroulant, vous venez besoin de changer l'indice de 'eq'

$('#firstdropdown').change(function(){ 
    if($(this).val() == "2") 
     $('#seconddropdown option:eq(3)').hide(); // change the index of 'eq' 
    else 
     $('#seconddropdown option:eq(3)').show(); 
    });​ 
+0

Merci. Mais ce code ne fonctionne pas pour moi. Suggérer moi une solution – aruna

Questions connexes