javascript - 在做某事之前如何确认所有复选框都已选中?

标签 javascript checkbox

我的目标是,如果所有复选框都被选中,则该人可以进一步,否则它将进入借口页面。

我在 jQuery 中找到了这个:

$("input[type='checkbox'].itemCheck").change(function(){
    var a = $("input[type='checkbox'].itemCheck");
    if(a.length == a.filter(":checked").length){
        console.log("Je vais sur la formulaire");

    }
});

我尝试了它并且它有效,但我需要在 vanilla js 中使用它,所以我尝试转换它,但我只是不知道如何完成此操作。

我尝试了其他逻辑来使其工作,但我不知道如何实现。

<input type="checkbox" name="verif" class="checkbox itemCheck">

<input type="checkbox"  name="age" class="checkbox itemCheck">

<input type="checkbox"  name="employed" class="checkbox itemCheck">

最佳答案

该 jQuery 代码的普通 JavaScript 版本将是:(添加注释,以便您可以了解发生了什么)

// gets all the inputs on the page with type = "checkbox"
var checkboxes = document.querySelectorAll('input[type="checkbox"]');
// loops through each checkbox
for (var i = 0; i < checkboxes.length; i++) {
  // add an change event listener to each checkbox
  checkboxes[i].addEventListener('change', function() {
    // gets the checkboxes that are ticked (or "checked")
    var checkboxes_ticked = document.querySelectorAll('input[type="checkbox"]:checked');
    // check if the length of ticked checkboxes matches with the total checkboxes on the page
    if (checkboxes_ticked.length === checkboxes.length) {
      // all checkboxes where ticked! display your message
      console.log("Je vais sur la formulaire");
    }
  });
}

祝你好运。

关于javascript - 在做某事之前如何确认所有复选框都已选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58737867/

相关文章:

c# - WPF 中 CheckBox 的自定义鼠标命中区域

javascript - 提交表单失败时运行函数

c# - DataGridView 复选框事件

javascript - '\n' 从输入字段中删除

javascript - 多次点击弹出

javascript - 获取波浪号旁边的号码

javascript - 为什么在调用 event.preventDefault() 后用 JavaScript 切换复选框/单选按钮失败?

javascript - 异步 JSON.stringify

javascript - 有什么方法可以调试 meteor Jasmine 客户端单元测试吗?

javascript - 使用 JQuery 多选取消选择复选框