Всего в таблицах с использованием Ajax Jquery - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть такие данные

Данные:

EMPID   MONTHNAME   ABSENTDAYS  DAYSWORKED  PRESENTDAYS PENALTY
10001   January     0           1           1           100
10001   January     0           1           1           100
10001   February    0           1           1           100
10001   February    0           1           1           100
10001   February    0           1           1           100
10001   March       0           1           1           100
10001   April       0           1           1           100
10001   April       0           1           1           100

Это мой код

код

        var html;
        var totalWorkedDays = 0;
        var totalAbsentDays = 0;
        var totalPresentDays = 0;
        var totalPenalty= 0;
        $(data).each(function (index, th) {
            if (th.MONTHNAME == 'January') {
                count = count + 1;
                totalWorkedDays = totalWorkedDays + parseFloat(th.DAYSWORKED);
                totalAbsentDays = totalAbsentDays + parseFloat(th.ABSENTDAYS);
                totalPresentDays = totalPresentDays + parseFloat(th.ABSENTDAYS);
                totalPenalty= totalPenalty+ parseFloat(th.RATE);
                html = '<td class="text-center" id=jan_' + th.SeqID + '>' + th.MONTHNAME + '</td>'
                + '<td class="text-center">' + totalWorkedDays + '</td>'
                + '<td class="text-center">' + totalAbsentDays + '</td>'
                + '<td class="text-center">' + totalPresentDays + '</td>'
                + '<td class="text-center">' + totalPenalty.toFixed(2) + '</td>'
                + '</tr>';
            }
            if (th.MONTHNAME == 'February') {
                count = count + 1;
                totalWorkedDays = totalWorkedDays + parseFloat(th.DAYSWORKED);
                totalAbsentDays = totalAbsentDays + parseFloat(th.ABSENTDAYS);
                totalPresentDays = totalPresentDays + parseFloat(th.ABSENTDAYS);
                totalPenalty= totalPenalty+ parseFloat(th.RATE);
                html = '<td class="text-center" id=jan_' + th.SeqID + '>' + th.MONTHNAME + '</td>'
                + '<td class="text-center">' + totalWorkedDays + '</td>'
                + '<td class="text-center">' + totalAbsentDays + '</td>'
                + '<td class="text-center">' + totalPresentDays + '</td>'
                + '<td class="text-center">' + totalPenalty.toFixed(2) + '</td>'
                + '</tr>';
            }
        });
        fa_table.append(html);

Результат:

Month     TotalAbsent    TotalWorked    TotalPresent    TotalPenalty
February  0              3              3               300.00

Январь месяц не показывает ... я хочу показать все месяцы динамически с итогом ниже.

пожалуйста, помогите. Заранее спасибо ..

1 Ответ

0 голосов
/ 14 сентября 2018

Вы перезаписываете переменную html каждый раз, когда помещаете в нее код, и ничего не делаете с ней, пока не закончится итератор each().Я бы пересмотрел ваши if блоки, но самое простое решение - переместить последнюю строку вашего кода внутрь этой функции each() (ниже второго блока if).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...