javascript - 如何使用 jquery/javascript 获取选中复选框的所有值?

标签 javascript jquery html

当我的页面打开时,默认情况下会选中所有复选框,并且在提交表单时,我无法获取数组中选中的复选框的值。用户不能单击复选框,因为默认情况下所有复选框均处于选中状态。所以我尝试使用以下方法接收检查的值:

var valores = (function() {
    var valor = [];
    $('input.className[type=checkbox]').each(function() {
        if (this.checked)
            valor.push($(this).val());
    });
    return valor;

})();

console.log(valores);

我的复选框代码是:

<div class="form-group" id="documents">
   <label> <input id="check_id3" type="checkbox" value="3" class="chk3" checked=""> <span>OTHERS</span>
   <br>
   </label>
   <div style="padding-bottom:5px"></div>
   <label> <input id="check_id1" type="checkbox" value="1" class="chk1" checked=""> <span>Invoice</span>
   <br>
   </label>
   <div style="padding-bottom:5px"></div>
   <label> <input id="check_id2" type="checkbox" value="2" class="chk2" checked=""> <span>Packing List</span>
   <br>
   </label>
   <div style="padding-bottom:5px"></div>
</div>

最佳答案

您可以简单地使用 jQuery 的 .map().get()在所有选中复选框上:

$("label > span:contains('OTHERS')").prev().prop('checked', false);

var valor = $('input[type=checkbox]:checked').map(function(){
  return this.value;
 }).get();
console.log(valor);

$("label > span:contains('OTHERS')").prev().change(function(){
  if(!this.checked) alert('Others unchecked');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="form-group" id="documents">
   <label> <input id="check_id3" type="checkbox" value="3" class="chk3" checked=""> <span>OTHERS</span>
   <br>
   </label>
   <div style="padding-bottom:5px"></div>
   <label> <input id="check_id1" type="checkbox" value="1" class="chk1" checked=""> <span>Invoice</span>
   <br>
   </label>
   <div style="padding-bottom:5px"></div>
   <label> <input id="check_id2" type="checkbox" value="2" class="chk2" checked=""> <span>Packing List</span>
   <br>
   </label>
   <div style="padding-bottom:5px"></div>
</div>

关于javascript - 如何使用 jquery/javascript 获取选中复选框的所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54362322/

相关文章:

javascript - jQuery 与 jQuery 移动积木表单提交

jquery - 在jtable中添加自定义按钮

javascript 存储很多对象的信息

jquery - Navicon Transformicons 蓝色边框

javascript - 在 Jade 模板中构建 url 编码

javascript - 我可以从 watch 调用方法并安装吗?

javascript - 如何调用异步函数并在另一个函数中获取其响应?

javascript - Fabric JS IText字体根据位置模糊

javascript - 如何获取兄弟节点并在javascript更改事件上设置值?

javascript - jquery-ui 向左滑动第一次不起作用