【问题标题】:How to get the unchecked checkboxes in a js?如何在js中获取未选中的复选框?
【发布时间】:2023-02-08 21:46:11
【问题描述】:

我有一个5 checkboxes,他们都在哪里检查.

最大 2 应该是unchecked,所有 3检查.

<div id="excludedNumbers">
  <div class="form-group">
    <div class=" form-check">
        <input class="form-check-input" checked type="checkbox" value="0" id="add0">
        <label class="form-check-label" for="add0">0</label>
     </div>
     <div class="form-check">
         <input class="form-check-input" checked type="checkbox" value="1" id="add1">
         <label class="form-check-label" for="add1">1</label>
     </div>
     <div class="form-check">
        <input class="form-check-input" checked type="checkbox" value="2" id="add2">
        <label class="form-check-label" for="add2">2</label>
     </div>
     <div class="form-check">
         <input class="form-check-input" checked type="checkbox" value="3" id="add3">
         <label class="form-check-label" for="add3">3</label>
     </div>
     <div class="form-check">
         <input class="form-check-input" checked type="checkbox" value="4" id="add4">
         <label class="form-check-label" for="add4">4</label>
     </div>
      <div class="form-check">
         <input class="form-check-input" checked type="checkbox" value="5" id="add5">
         <label class="form-check-label" for="add5">5</label>
     </div>

我需要设置警报,如果用户取消勾选超过 2 位数。

var checkBoxesEnabled =document.querySelectorAll('.form-check-input');
var limit = 2;
for (var i = 0; i < checkBoxesEnabled.length; i++) {
   checkBoxesEnabled[i].addEventListener('click', function () {
   var uncheckedcount = 0;
       for (var i = 0; i < checkBoxesEnabled.length; i++) {
          if(checkBoxesEnabled[i].checked === false > limit){
             alert('You cannot disable more than 2');
         }
      }
  });
}

没用,不知道哪里出了问题

我怎么能得到警报, 如果超过 2 个复选框未经检查

有人可以帮忙吗?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    每次找到选中的复选框时都需要增加计数器,然后将其与 limit 变量的值进行比较。如果超过限制,则发出警报。

    var checkBoxesEnabled =document.querySelectorAll('.form-check-input');
    var limit = 2;
    for (var i = 0; i < checkBoxesEnabled.length; i++) {
       checkBoxesEnabled[i].addEventListener('click', function () {
       var uncheckedcount = 0;
           for (var i = 0; i < checkBoxesEnabled.length; i++) {
              if(checkBoxesEnabled[i].checked === false) uncheckedcount++;
              if (limit < uncheckedcount) {
                     alert('You cannot disable more than 2');
                     break;
              }
          }
      });
    }
    

    【讨论】:

      猜你喜欢
      • 2013-09-15
      • 2013-11-14
      • 1970-01-01
      • 2012-04-08
      • 1970-01-01
      • 2014-03-15
      • 2016-06-01
      • 2015-01-31
      • 1970-01-01
      相关资源
      最近更新 更多