IT tech Coding/javascript
[javascript] table에서 두줄로 되어 있을때 합쳐진 셀에서 나눠진 아랫셀의 합계를 내고 싶을때 알아야 할 코드
Coding Life
2023. 7. 2. 12:18
이걸로 많은 시간을 소비해서 기록으로 남겨둡니다.
테이블의 합계를 내는데.. 고생을 좀 했습니다.
// 배출합을 더해야 각 행의 첫번째 배출합계로 나타내는 구간 (자식구간을 더하는 로직)
outputAmountFields.forEach(function (field) {
field.addEventListener('input', function () {
var table = field.closest('table');
var outputSumFields = table.querySelectorAll('.output-sum');
outputSumFields.forEach(function (outputSumField) {
var tr = outputSumField.closest('tr');
var rowIndex = tr.rowIndex;
var outputAmountsInRow = table.querySelectorAll('tr:nth-child(' + rowIndex + ') .output-amount1, tr:nth-child(' + rowIndex + ') .output-amount2, tr:nth-child(' + rowIndex + ') .output-amount3, tr:nth-child(' + rowIndex + ') .output-amount4 , tr:nth-child(' + rowIndex + ') .output-amount5');
var sum = 0;
outputAmountsInRow.forEach(function (amountField) {
var value = amountField.value || '';
sum += parseInt(value) || 0;
});
outputSumField.value = (sum !== 0) ? sum : '';
});
});
});
이런식으로 셀이 나뉘어있을때 자동합계를 낼때 유용한 코드라고 생각됩네요.
엄청 해매다가 찾아서 해결한 거라 기록으로 남겨둡니다.
다음에는 좀더 빨리 찾기 위한 나만의 DB를 구축하는거죠~
반응형