하나의 단일 열 합계에 대해 작동하는 기존 코드를 사용하여 합계를 두 열에 표시하려고했습니다. 배열에 있지만 작동하지 않습니다. 이 간단한 배열 솔루션을 사용할 수 있습니까? Datatables "footerCallback"함수가 두 열의 결과를 표시하지 않음 (하나만 있음)
이
이것이 JS 인 https://jsfiddle.net/setbon/3mvmhL1v/이다
$(document).ready(function() {
var table = $('#example').DataTable({
rowReorder: {
selector: 'td:nth-child(2)'
},
responsive: true,
scrollX: true,
scrollY: "80vh",
scrollCollapse: true,
paging: true,
lengthChange: false,
lengthMenu: [ [10, 25, -1], [10, 25, "All"] ],
"order": [[ 0, "asc" ]],
"footerCallback": function (row, data, start, end, display) {
var api = this.api(), data;
// Remove the formatting to get integer data for summation
var intVal = function (i) {
return typeof i === 'string' ?
i.replace(/[\$,]/g, '')*1 :
typeof i === 'number' ?
i : 0;
};
// Total over all pages
total = api
.column([3,4])
.data()
.reduce(function (a, b) {
return intVal(a) + intVal(b);
}, 0);
// Total over this page
pageTotal = api
.column([3,4], { page: 'current'})
.data()
.reduce(function (a, b) {
return intVal(a) + intVal(b);
}, 0);
// Update footer
$(api.column([3,4]).footer()).html(
total
);
},
buttons: ['pdf']
});
table.buttons().container()
.appendTo('#example_wrapper .small-6.columns:eq(0)');
}); $ (문서) .foundation();
두 개 이상의 열을 합치려면 https://datatables.net/plug-ins/api/sum() 당 추가 플러그인을 사용해야합니다. 그 플러그인에 대해서도 복사하고 쉽게 사용자 지정할 수있는 둘 이상의 열이있는 예제를 찾을 수 없었습니다.
In this SO question 코드는 내가 가지고있는 것과 매우 다르며 혼란 스럽습니다. 또한 this SO answer is difficult for me to understand and I don't know how to apply to resolve my problem
에릭, 필들이 내가 만든 업데이트 된 버전을 저장하지 못해서 미안합니다. 새로 저장 한 내용보기 : https://jsfiddle.net/setbon/3mvmhL1v/ 3 개의 행만 표시되어야하며 합계는 2 개의 별도의 합계 여야합니다. 2 개의 열은 같지 않습니다. 함수가 복수형을 호출하도록 만들었지 만 도처에 0이 생겼습니다. 다른 모습을 보여줄 수 있습니까? –
수정 된 답변을 확인하십시오. –
모두 잘 됐어, 고마워! 첫 번째 부분을 왜 위에 놓았는지 궁금한가요? "$ (document) .ready (function() {"? "합계를위한 정수 데이터를 가져올 형식을 제거하십시오"섹션을 "$ –