如何使用 jQuery 动态获取复选框选中列值的总和

How to get sum of checkboxes checked column values dynamically using jQuery

Angular Datatable:如何在Datatable中动态获取选中值的总和。

有一个数据表和复选框,一旦我们选中了选中的复选框,就需要对所有选中的复选框数量求和。我尝试了以下代码,获取值但无法求和。如果我取消选中复选框需要减少未选中的框数量。请提出问题。

 checkboxCheckAmountCount(info: any): void {

 var creditAmount = 0;
    var checkedCount = $("#firstTable input:checked").length;
    var amountAdd = false;
    for (var i = 0; i < checkedCount; i++) {
      if (info.index != "") {
        alert(info.index);
        creditAmount += parseFloat(info.index);
      } else {
        creditAmount = 0;
      }
     }
   $("#idCheckBoxLabel").text(creditAmount);
}

Stackblitz

以下是根据您的要求可以正常工作的函数:

checkboxCheckCount(info: any): void {
  var creditAmount = 0;
  var amountAdd = false;
  $("#firstTable input:checked").each(function() {
    if (info.index != "") {
      creditAmount += parseInt($(this).prop("value"));
    } else {
      creditAmount = 0;
    }
  });
  $("#idCheckBoxLabel").text(creditAmount);
}

您可以对所有勾选的项目使用 on reduce 得到总和 -

checkboxCheckCount(info: any): void {
  var creditAmount = $("#firstTable input:checked").toArray().reduce(function(sum: number, element: any) {
    return sum + Number(element.value);
  }, 0);
  $("#idCheckBoxLabel").text(creditAmount);
}