计算选中行中的数量并更新 div 元素

count qty in checked row and update div element

我制作了一个div来显示清点数量(总计)

<div style='font-size:18px;'>Total : <div id='total_qty_chk' style='display:none' value=''></div> </div>

然后我做了一个 jquery 来计算任何行中每个选中的复选框,

  $(document).ready(function() {

var total_qty_chkd = document.getElementbyId('#total_qty_chk'); //display count
total_qty_chkd.value = 0;
var chkqty1 = document.getElementsByClassName('txtbtsclass'); //qty value saved here


    $("input:checkbox").on("change", function () { //when clicked

        $.each($("input[id='chkajax']:checked"), function(){    //count every clicked checkbox        
            Number(total_qty_chkd.value) = Number(total_qty_chkd.value) + Number(chkqty1.value);
        });
        total_qty_chkd.toggle();

    });


});

例如,当我点击第一个和第二个复选框时,总计将显示值 36.8

有人可以帮我解决这个问题吗?任何帮助将不胜感激。

closest()find() 是你获得价值的朋友。

$("input:checkbox").on("change", function() {
  var sum = 0;
  $.each($("input[class='chkajax']:checked"), function() {
    sum += Number($(this).closest('tr').find('td:last').text());
  });
  $('#total_qty_chk').toggle($(".chkajax:checked").length > 0 );
  $('#total_qty_chk').text(sum);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr>
    <td><input type="checkbox" class="chkajax"></td>
    <td>o5242</td>
    <td>14</td>
  </tr>
  <tr>
    <td><input type="checkbox" class="chkajax"></td>
    <td>o5245</td>
    <td>22.8</td>
  </tr>

</table>
<div style='font-size:18px;'>Total :
  <div id='total_qty_chk' style='display:none' value=''></div>
</div>

注意:1. 您没有提供任何 html,所以我假设它是 table。同样的事情也适用于 div。 2。 ID 必须是唯一的,所以使用 class 而不是 id.