2012-08-22 6 views
0

Je veux savoir comment basculer visiblité des options dans une liste déroulante sur la base de ce que nous sélectionnons dans une autre liste déroulante.bascule visiblité des options dans une liste déroulante sur la sélection dans une autre liste déroulante

par exemple: envisager un menu déroulant nommé continent avec des options:

asia, europe, america, africa. 

maintenant d'envisager une autre menu déroulant nommé pays avec les pays comme options. ce que je demande est que si je sélectionne Asie du menu déroulant continent que les pays de l'Asie doivent être visibles dans le menu déroulant pays.

Je ne suis pas capable de faire ce travail. les pls m'aident.

+2

http://www.bitrepository.com/dynamic-dependant-dropdown- list-us-states-counties.html –

+0

AliRıza Adıyahşi: Cela fonctionne grâce ........ – Avinash

Répondre

0

Voici un autre exemple, plus simple que le lien (que je aussi + 1d) dans les commentaires

http://jsfiddle.net/joevallender/Y6Rjz/1/

code

ci-dessous

HTML

<label for="continent">Continent</label> 
<select id="continent"> 
    <option value=""> -- Please select -- </option> 
    <option value="asia">Asia</option> 
    <option value="europe">Europe</option> 
</select> 

<label for="country">Country</label> 
<select id="country"></select> 

JS

var data = { 
    asia: [ 
     'china', 
     'japan' 
    ], 
    europe: [ 
     'france', 
     'germany' 
    ] 
} 

$('#continent').change(function(){ 
    var value = $(this).val(); 
    var list = data[value]; 
    $('#country').empty(); 
    $('#country').append(new Option(' -- Please select -- ','')); 
    for(var i = 0; i < list.length; i++) { 
     $('#country').append(new Option(capitaliseFirstLetter(list[i]),list[i])) 
    } 
}) 

// Helper from http://stackoverflow.com/questions/1026069/capitalize-the-first-letter-of-string-in-javascript 
function capitaliseFirstLetter(string) { 
    return string.charAt(0).toUpperCase() + string.slice(1); 
} 
0

Si vous êtes intéressé par une solution plus générique, non jquery, voir this fiddle

Questions connexes