如何在jQuery .each()函数中使用“类”而不是“ ID”?

时间:2019-05-24 05:08:53

标签: javascript jquery

我正在尝试获取表中小计字段的值,当前我在.each函数中使用表ID,但是我的表ID在添加的每个节中动态递增,这就是为什么我无法获得小计和将每个小计相加即可得出总计。

此函数正在添加小计以获得小计

function calculateTableSum(currentTable) {
    var sum = 0;

    $('#' + currentTable + ' input.sub_total').each(function() {
        //add only if the value is number
        if(!isNaN(this.value) && this.value.length!=0) {
            sum += parseFloat(this.value);

        }
    });
    //.toFixed() method will roundoff the final sum to 2 decimal places
    $('#' + currentTable + ' input.sumamtcollected').val(sum.toFixed(2));

这是要使用表类而不是表ID的地方

  $('#' + currentTable + ' input.sumamtcollected').each(function() {
        //add only if the value is number
        if(!isNaN(this.value) && this.value.length!=0) {
            grand += parseFloat(this.value);
            alert(this.value);
        }

这是我的桌子

<table id="addaccount'+counter+'" class="table table-bordered"><tbody> <tr class="invoice-total" bgcolor="#f1f1f1"><td colspan="3" align="right"><strong>Sub-Total</strong></td><td><i class="fa fa-inr"></i><input class="sumamtcollected form-control " name="accttotal[]" type="text" value="" readonly style="background-color:white" ></td><td></td></tr></body></table>

currentTable在哪里

var currentTable = $(this).closest('table').attr('id');

1 个答案:

答案 0 :(得分:-1)

或者,您可以修改选择器以查询所有以table开头的id的{​​{1}},如下所示:

'addaccount'

$('table[id^="addaccount"]')
$('table[id^="addaccount"]').each(function() {
  console.log(this);
})