想象一下这个HTML代码
<html>
<head>
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function clear_form() {
$("select#block_id").find("option").removeAttr("selected");
}
</script>
</head>
<body>
<form>
<select id="block_id" name="block_id">
<option value=""></option>
<option value="1">1 Peach Road</option>
<option value="2" selected="selected">Bethnal Green Estate</option>
<option value="3">Ley Street</option>
<option value="4">Ogilby Street</option>
</select>
<input type="reset" onclick="clear_form()" value="Clear"/>
<input type="submit"/>
</form>
</html>
在Firefox中打开此页面时,按“清除”按钮将重置所选选项。 但这在IE中不起作用,浏览器不会引发任何错误,但仍然显示没有选择的选项。 问题是因为我们有'option value =“2”selected =“selected”'html代码,看起来IE不会清除它总是出现在页面上的这个选择。 获得原生javascript或jQuery 1.5.2解决方案会很棒。 有什么建议吗?
答案 0 :(得分:7)
您可以使用JavaScript重置select
以指向其第一个option
元素。
使用jQuery ......
$('#block_id').prop('selectedIndex', 0);
...无
document.getElementById('block_id').selectedIndex = 0;
答案 1 :(得分:0)
似乎重置按钮是恢复IE中的值的原因。
重置按钮会将所有表单字段重置为其初始值
在您的情况下,最初选择了选项2,因此保留了该值。
更改Alex帖子中的清除功能。
document.getElementById('block_id').selectedIndex = 0;