2010-03-16 6 views
2

J'essaie d'utiliser le show et de masquer pour afficher un ensemble différent d'options de sélection lorsqu'un certain type de rapport est sélectionné. J'ai quelques problèmes avec ceci: Le .show .hide exécute seulement correctement si je passe des params, lent vite, dans le premier résultat de mon instruction conditionnelle. Si je retire les params ou que je passe les params dans les deux résultats, un seul select montre et ça ne change jamais ... voici le code qui fonctionne actuellement.Jquery .Show() .Hide() ne fonctionne pas comme prévu

 if ($('#ReportType').val() == 'PbuseExport') 
     { 
      $('#PbuseServices').show('fast'); 
      $('#ReportServiceDropdown').hide('fast'); 
     } 
     else 
     { 
      $('#PbuseServices').hide(); 
      $('#ReportServiceDropdown').show(); 
     } 

Après avoir utilisé ce contrôle, je suis redirigé vers une page différente. Lorsque j'utilise à nouveau le contrôle, il rétablit les valeurs de recherche d'origine et repeuple le contrôle. Ensuite, je veux seulement montrer une option de sélection si un certain rapport est choisi .. Cela fonctionne correctement si le type de rapport que j'ai initialement recherché n'est pas le "PbuseExport". Si j'ai recherché sur le type de rapport «PbuseExport», les deux sélectionnent show sur l'écran, et seulement jusqu'à ce que je change le type de rapport, il montre seulement un select. Je sais que cela n'est probablement pas très clair. Voici le code qui gère l'événement change sur le type de rapport déroulant.

var serviceValue = $("#ReportType").val(); 
    switch (serviceValue) 
    { 
     case 'PbuseExport': 
      $('#PbuseServices').show('fast'); 
      $('#ReportServiceDropdown').hide('fast'); 
     default: 
      $('#PbuseServices').hide(); 
      $('#ReportServiceDropdown').show(); 
      break; 
    } 
+0

Avez-vous utilisé firebug pour parcourir le code pour voir si ce qui se passe est réellement un problème JQuery. – Clutch

Répondre

3

Dans le deuxième morceau de code, vous avez également besoin d'une pause après l'instruction case. Le select tombera par défaut. Confirmer ....

Si vous avez besoin d'une pause, pensez également à utiliser une instruction if au lieu d'une requête.

+0

test en ce moment .. ne peux pas croire que j'ai raté ce – Avien

+0

non .. ne change rien. et je ne peux pas utiliser firebug .. – Avien

+0

pourquoi ne peux-tu pas utiliser firebug? – mkoryak

1

Il s'avère que mon fichier de projet est corrompu..along avec un certain nombre d'autres problèmes majeurs .. et maintenant je dois réinstaller VS
: |

+1

Oui, j'étais sur le point de suggérer ça. –