非常奇怪的行为!
我有一个我无法控制html的选择字段。我希望select的默认值为空,所以我将其设为空而不是0.问题是,它不再触发firefox的html5验证器为“required”。
示例:
<form id='test' action="#">
<select id='list' required>
<option value="0">zero</option>
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
<input type="submit">
</form>
$("#list > option:first").attr("value", "");
但是,如果您选择其他选项,然后将其返回到第一个选项,则会再次获取必填字段的弹出窗口。所以,如果我使用jquery取消选择并重新选择第一个选项,它就可以了!
$("#list > option:first").attr("selected", false);
$("#list > option:first").attr("selected", true);
这个解决方案有效,但看起来有点笨拙。关于如何清洁的任何想法?
编辑:
这也有效,看起来不那么笨拙,但仍然没有理由为什么有必要......
$("#list").val('');
$("#list > option:first").attr("value", "");