jQuery dropdown cacher montrer div en fonction de la valeur

c'est une question classique, mais ne peut pas trouver la meilleure approche. J'ai une liste déroulante avec les id project_billing_code_id et 3 valeurs (1, 2, 3).

Si la valeur sélectionnée = 1 alors afficher div avec l'id de l'un et de lui seul. div deux et trois doivent être cachés.
Je tiens également à rendre cela arrive quand la vue est chargé non seulement sur le changement.

$(document).ready(function() {
  $("#hourly").hide();
  $("#per_diem").hide();
  $("#fixed").hide();
$("#project_billing_code_id").change(function() {
  if ($("#project_billing_code_id").val() == '1') {
   $("#hourly").show();
   }
  else if ($("#project_billing_code_id").val() == '2') {
   $("#per_diem").show();
   } 
  else if ($("#project_billing_code_id").val() == '3') {
   $("#fixed").show();
   }
  else { 
       $("#hourly").hide();
       $("#per_diem").hide();
       $("#fixed").hide();
       }
  });
});
Vous avez juste besoin d'ajouter $("#per_diem").hide();$("#fixed").hide() à $("#hourly").show(), de même pour les autres conditions. Donc, les autres restent cachés, quand vous montrez un div.

OriginalL'auteur Gaelle | 2011-08-10