2014-07-07 5 views
-1

Guys Je veux savoir s'il y a un moyen pour cela:HTML balise select qui dicte la prochaine sélectionnez l'option

Si la première question par exemple dans la balise select est « marque de voiture ». alors vous sélectionnez par exemple "toyota". L'option de sélection suivante pour la prochaine option est la liste des voitures pour Toyota comme "Camry, Fortuner, etc." et si sur la première sélection vous choisissez "honda" l'option de sélection suivante aura "civic, crz, crv etc.". Donc, en gros, l'étiquette de sélection suivante change d'option en fonction de la première option sélectionnée. et la plus grande question est si le code est pour HTML seulement pas avec CSS. Merci d'avance pour votre réponse :)

+0

HTML est seulement impossible. Définissez le premier choix sur le premier choix et ensuite vous pouvez soit remplir les options à la deuxième sélection en utilisant AJAX (XHR), soit les précharger toutes et afficher la bonne option + cacher les autres. Le premier est meilleur, le second est sans AJAX. – mikiqex

+0

Ceci est réellement fait avec javascript, parce que vous voulez changer dynamiquement les options de sélection suivantes qui apparaissent sur la page. Il est préférable d'essayer de le faire soi-même et de ne demander que si vous avez un problème avec votre code. – Grapho

Répondre

0

Un JavaScript pour commencer - Chaque fois que la boîte de sélection change, elle correspond à la valeur sélectionnée avec les valeurs de l'objet "modèle" et affiche les résultats dans la boîte de sélection du modèle.

Fiddle

<select id="makes"> 
    <option value="NULL">Please Select</option> 
    <option value="Honda">Honda</option> 
    <option value="Toyota">Toyota</option> 
</select> 




<select id="model"> 
</select> 



$(function(){ 
    $('#makes').change(function(){ 
     var make = $(this).val(); 
     var model = { 
      Honda:{1:"Civic", 2:"Accord"}, 
      Toyota:{1:"Supra",2:"Yaris"} 
     }; 


     if(model.hasOwnProperty(make)){ 
      $('#model').html(''); 

      $.each(model[make], function(i, val) { 
       $('#model') 
        .append($("<option></option>") 
        .attr("value",val) 
        .text(val)); 
      }); 
     } 
    }); 
});