2009-10-22 271 views
0

我試圖隱藏表單標籤和文本框,默認情況下,並使它們出現時,選擇一個選項。我看不出爲什麼我的代碼保持失敗。jQuery遍歷表單元素

<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(); 
}); 

它目前設置爲隱藏表單元素,爲什麼我測試。

我原本沒有使用類,並試圖通過它遍歷我的手。如果不這樣做,我就會上課,最終失敗。

爲什麼jQuery不選擇我的元素? >。 <

回答

1

值得從HTML 4.01 specification注意到:

IDNAME令牌必須以字母開頭([A-ZA-Z]),並且可以是 ,接着任意數量的字母, 數字([0-9]),連字符(「 - 」), 下劃線(「_」),冒號(「:」)和 句點(「。」)。

除此之外,HTML中沒有類otherHide的元素。

+0

這個ID實際上並不是數字。我只是用它們來阻止人們關注不相關的信息。現在回想起來,壞主意的xD 我似乎也粘貼舊代碼> _> 最後兩個TD的應爲: ​​<標籤類=」。otherHide 「>其他 ​​<輸入類=」 otherHide。 「type =」text「name =」otherSpec「id =」otherSpec「/> – Kane 2009-10-22 05:38:23

+2

你想要class =」otherHide「而不是class =」。otherHide「。該時間段僅用於CSS選擇器以表明您正在尋找一個班級。 – Gareth 2009-10-22 05:50:02

+0

...半小時盯着這段代碼試圖弄清楚爲什麼jQuery不能很好地播放,並且它變成了HTML> _> 感謝您的幫助;) – Kane 2009-10-22 05:54:58