2011-08-31 155 views
0

我有以下代碼;在Internet Explorer中的HTML選擇選項

   <label for="courseLevel">Level</label> 
       <select name="courseLevel" id="courseLevel"> 
       <option label="courseLevel">Foundation</option> 
       <option label="courseLevel">Undergraduate</option> 
       <option label="courseLevel">Postgraduate</option> 
       </select> 

在firefox和chrome中,我獲得了「基礎」,「本科」,「研究生」作爲選項。在Internet Explorer中,我可以獲得「courseLevel」,「courseLevel」,「courseLevel」。爲什麼?如何修復?

回答

3

labelnot being used correctly(只有IE 7+和Opera支持它)。你不需要它。

<label for="courseLevel">Level</label> 
<select name="courseLevel" id="courseLevel"> 
    <option>Foundation</option> 
    <option>Undergraduate</option> 
    <option>Postgraduate</option> 
</select> 

什麼你可能要找的是價值。例如,您可以將數值分配給每個選項,如下所示:

<label for="courseLevel">Level</label> 
<select name="courseLevel" id="courseLevel"> 
    <option value='0'>Foundation</option> 
    <option value='1'>Undergraduate</option> 
    <option value='2'>Postgraduate</option> 
</select> 

但是,您不需要它們。未指定值時,將使用<option></option>之間的文本。

1

option標籤不需要label屬性。這可能是造成這個問題的原因。

0

標籤屬性只能通過IE /歌劇的支持,並將取代期權的價值的innerText。

0

您的XHTML錯誤。

你其實想要<option value="">標籤;標籤屬性在那裏沒有意義。此外,<option>標籤的每個value應該是唯一的。標籤標籤在那裏是正確的,因爲它對應於<select>標籤的ID,並且會在單擊'Level'文本時使下拉菜單顯示。

<label for="courseLevel">Level</label> 
    <select name="courseLevel" id="courseLevel"> 
     <option value="1">Foundation</option> 
     <option value="2">Undergraduate</option> 
     <option value="3">Postgraduate</option> 
    </select> 
相關問題