Javascript Jquery-确保选中所有复选框

Javascript Jquery-确保选中所有复选框,javascript,jquery,Javascript,Jquery,我正在尝试创建一个JS函数,以确保选中表单中的所有复选框 我试过以下方法,但不起作用。本页的另一个from中还有其他复选框,因此我想知道这是否冲突?我认为使用$(这个)可以解决这个问题 $('#my-form').on('submit', function(e) { e.preventDefault(); var checked = false; $('#input[type="checkbox"]').each(function() { if ($(th

我正在尝试创建一个JS函数,以确保选中表单中的所有复选框

我试过以下方法,但不起作用。本页的另一个from中还有其他复选框,因此我想知道这是否冲突?我认为使用$(这个)可以解决这个问题

$('#my-form').on('submit', function(e) {
    e.preventDefault();
    var checked = false;
    $('#input[type="checkbox"]').each(function() {
        if ($(this).is(":checked")) {
            checked = true;
        }
    });

    if (checked == false) {
        console.log('Something wasnt checked');
    }
});

请告诉我这里做错了什么?

您的代码会检查是否选中了任何复选框

将代码更改为

var checked = true; 
如果未选中循环中的复选框,则将变量设置为false。

“#”用于按元素的ID查询元素,因此$(“#input”)将只针对一个ID为“input”的输入。您应该这样做:

$("input[type='checkbox']")
或者,如果不希望页面上的所有复选框,则需要使用其他选择器等。将类“some class”添加到所有要检查和使用的输入:

$(".some-class")

此外,您还需要恢复逻辑,因为如果选中任何复选框,当前您将设置为“选中”。所以,首先使用checked=true,然后在if语句中,如果未选中它,则将其设置为false。

只需选中
:选中
复选框
长度
,根据该设置,您的变量如下所示

$('input[type=“checkbox”])。单击(函数(){
var检查=假;
if($('input[type=“checkbox”]:checked').length==$('input[type=“checkbox”]').length)
选中=正确;
如果(选中==true)
console.log('checked');
其他的
console.log('false');
});

谢谢,我添加了类并更新了登录名,下面是我的工作示例,供遵循此操作的人使用