Internet Explorer中的html选项

时间:2011-08-31 11:12:08

标签: html internet-explorer

我有以下代码;

              <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”。为什么?它怎么能修复?

5 个答案:

答案 0 :(得分: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 :(得分:1)

option标记不需要label属性。这可能是导致这个问题的原因。

答案 2 :(得分:0)

因为firefox忽略了分配给每个选项的label元素。

http://www.w3schools.com/TAGS/att_option_label.asphttp://www.w3schools.com/TAGS/tag_option.asp

似乎只有IE7 +和Opera支持这个标签

答案 3 :(得分:0)

标签属性仅受IE / Opera支持,并将替换选项的innerText值。

答案 4 :(得分:0)

你的XHTML错了。

您实际上需要<option value="">个标签;标签属性没有任何意义。此外,value标记的每个<option>都应该是唯一的。标签标记在那里是正确的,因为它对应于<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>