2009-10-22 10 views
0

J'essaie de masquer une étiquette de formulaire et une zone de texte, par défaut, et de les faire apparaître lorsqu'une option est sélectionnée. Je ne peux pas voir pourquoi mon code continue d'échouer.jQuery traversant des éléments de formulaire

<tr> 
    <td><label>My Label</label></td> 
    <td> 
     <select name="1" id="1"> 
     <option value="2" selected="selected">2</option> 
     <option value="3">3</option> 
     <option value="4">4</option> 

     <option value="Other">Other</option> 
     </select> 
    </td> 
    <td><label class=".otherHide">Other</label></td> 
    <td><input class=".otherHide" type="text" name="otherSpec" id="otherSpec" /></td> 
</tr> 

jQuery(document).ready(function() 
{ 
    jQuery('#1').change(function() 
    { 
     jQuery('#1 option:selected').each(function() 
     { 
     if (jQuery(this).text() == 'Other') 
     { 
      jQuery('.otherHide').each(function() 
      { 
       jQuery(this).animate({opacity: 0.0}, 2000); 
      }); 
     } 
     }); 
    }).change(); 
}); 

Il est actuellement configuré pour masquer les éléments de formulaire pour lesquels je testais.

À l'origine, je n'utilisais pas les classes et j'ai essayé de les traverser. Faute de cela, j'ai eu recours aux cours et j'ai fini par échouer.

Pourquoi jQuery ne sélectionne-t-il pas mes éléments? >. <

Répondre

1

Il convient de noter de la HTML 4.01 specification:

ID et jetons NOM doivent commencer par une lettre ([A-Za-z]) et peut être suivi par un certain nombre de lettres , chiffres ([0-9]), traits d'union ("-"), traits de soulignement ("_"), deux-points (":") et périodes (".").

Autre que cela, il n'y a aucun élément avec la classe otherHide dans votre HTML.

+0

Les identifiants ne sont pas réellement des nombres. Je les ai juste utilisés pour essayer d'empêcher les gens de se concentrer sur des informations non pertinentes. Avec le recul, mauvaise idée xD me semble aussi avoir collé ancien code> _> Les deux derniers devraient lire TD: Autres Kane

+2

vous voulez class =" otherHide "plutôt que class =". otherHide ". La période est uniquement utilisée dans le sélecteur CSS pour indiquer que vous recherchez une classe. – Gareth

+0

... une demi-heure à regarder ce code essayant de comprendre pourquoi jQuery ne jouait pas bien et il se avère être une erreur si simple dans le HTML> _> Merci pour l'aide;) – Kane

Questions connexes