2011-08-31 240 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> 
相关问题