我有以下代码;
<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”。为什么?它怎么能修复?
答案 0 :(得分:3)
label
是not 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.asp,http://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>