javascript - 自定义有效性至少选择一个复选框jquery

标签 javascript jquery

我有两个性别复选框。男性和女性。我将如何设置至少应选择一种性别的验证。我也有一周的日子,从周一到周日。这也是至少一个选择的日子。这是我的 jquery

$(document).ready(function(){
            // --- set required message --- //

                var msg="";
                var elements = document.getElementsByTagName("INPUT");

                for (var i = 0; i < elements.length; i++) {
                   elements[i].oninvalid =function(e) {
                        if (!e.target.validity.valid) {
                        switch(e.target.name){                              
                            case 'gender' :
                                e.target.setCustomValidity("Please select at least one gender.");break;                             
                            case 'days' :
                                e.target.setCustomValidity("Please select at least one day.");break;
                            case 'location' :
                                e.target.setCustomValidity("Please enter a location where the image can be seen.");break;
                        default : e.target.setCustomValidity("");break;

                        }
                       }
                    };
                   elements[i].oninput = function(e) {
                        e.target.setCustomValidity(msg);
                    };
                }
            });



<input type=checkbox name=gender[] required>Male
<input type=checkbox name=gender[] required>Female

<input type=checkbox name=days[] required>Monday
<input type=checkbox name=days[] required>Tuesday
<input type=checkbox name=days[] required>Wednesday
<input type=checkbox name=days[] required>Thursday
<input type=checkbox name=days[] required>Friday
<input type=checkbox name=days[] required>Saturday
<input type=checkbox name=days[] required>Sunday

最佳答案

而不是使用 html5 必需的和有效性..您可以只使用 jquery 来查看复选框是否被选中..

if($("input[name='gender[]']").is(":checked").length < 1){
 // no gender selected..
 var errmsg = $("<div class='error'>Please select at least one gender</div>");

}
if($("input[name='days[]']").is(":checked").length < 1){
 // no day selected..
 var errmsg = $("<div class='error'>Please select at least one day</div>");
}

$("containerelement").append(errmsg);

关于javascript - 自定义有效性至少选择一个复选框jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24362182/

相关文章:

javascript - Bootstrap 工具提示禁用按钮 Firefox/Chrome

JavaScript 添加参数到 url

javascript - 无法为 Jasmine 设置超时

javascript - 如何创建流畅的滚动效果?

javascript - 在悬停时,工具提示显示图像?

jquery - 通过 jquery 为动态创建的 div 应用 css

javascript - JQuery 单页淡入/淡出切换(带导航)

javascript - Flask:在整个应用程序中记住变量 + DOM 操作

javascript - 如果没有为该帖子设置特色图像,想要更改帖子 <h1> 标题的颜色

javascript - express-fileupload 图片上传不起作用