在JQuery值更改后,HTML5 required select不会验证

时间:2014-02-24 17:16:24

标签: jquery html5 requiredfieldvalidator

非常奇怪的行为!

我有一个我无法控制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", "");

http://jsfiddle.net/4NG78/9/

但是,如果您选择其他选项,然后将其返回到第一个选项,则会再次获取必填字段的弹出窗口。所以,如果我使用jquery取消选择并重新选择第一个选项,它就可以了!

$("#list > option:first").attr("selected", false); 
$("#list > option:first").attr("selected", true);

http://jsfiddle.net/4NG78/8/

这个解决方案有效,但看起来有点笨拙。关于如何清洁的任何想法?

编辑:

这也有效,看起来不那么笨拙,但仍然没有理由为什么有必要......

$("#list").val('');
$("#list > option:first").attr("value", "");

http://jsfiddle.net/4NG78/10/

0 个答案:

没有答案