Summe aller ausgewählten Zeilen in jQuery Datatables
Ich habe eine Spalte Betrag und verwendet haben, dieses https://datatables.net/examples/advanced_init/footer_callback.html zum berechnen der Summe für die auf Seite und off-Seite in der Fußzeile.
Gibt es auch in diesem Beispiel die Warnungen der Gesamtbetrag auf Seite und off-Seite.
https://datatables.net/examples/plug-ins/api.html
Was ich versuche zu erreichen ist, wie die Summe der Werte der ausgewählten Zeilen der Gehalt Spalten
Hier ist eines, das ich gebaut habe auf jsfiddle mit dem Zeilen-Auswahl durchgeführt und eine Fußzeile total fertig.
Aber ich kann nicht herausfinden, wie ich hinzufügen kann, eine Summe, Wert der Summe der selektierten Zeilen in der linken unteren Ecke der Zelle
http://jsfiddle.net/ebRXw/190/
$('#example').dataTable( {
"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( 4 )
.data()
.reduce( function (a, b) {
return intVal(a) + intVal(b);
} );
//Total over this page
pageTotal = api
.column( 4, { page: 'current'} )
.data()
.reduce( function (a, b) {
return intVal(a) + intVal(b);
}, 0 );
//Update footer
$( api.column( 4 ).footer() ).html(
'$'+pageTotal +' ( $'+ total +' total)'
);
}
} );
$('#example tbody').on('click', 'tr', function () {
$(this).toggleClass('selected');
} );
- Sie wollen wählen Wert zählen?
- ja, also, wenn Sie auf eine Zeile klicken, der Gehalt bekommt, summiert sich unten Links in der Fußzeile
- im Grunde um die Summe aller Zeilen, die mit active-class gegen Sie aus Zeilen-Auswahl
- Wie meinst du das "aktive Klasse gegen Sie aus der Zeile selection'? Gerade jetzt, deine Zeilen haben entweder
.odd
oder.even
als Klassen. Die man als aktiv angesehen wird und was nicht? - Entschuldigung, die active-Klasse-name "ausgewählt", nicht "active". Also, wenn Sie auf eine Zeile klicken, die tr Klasse bekommt einen "selected" - Klasse Hinzugefügt, markieren Sie die Zeile, welches ausgewählt wurde. Ich möchte in der Lage sein, um Sie auf mehrere Zeilen und die Summe wird sich zeigen unten Links in der Fußzeile
- prüfen Sie die Antwort, kann sein u brauchen diese @adamgouldie
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, diese funktionsfähige Demo
JS FIDDLE
Fügen Sie eine Klasse
.sum
imth
element, das zeigt die Summe. Erstellen Sie auch einensum
variable und initialisieren Sie es oben in Ihrem javascript-code.Ändern Sie dann Ihren code, schaltet die
selected
Klasse zu diesem:Und hier ist eine funktionierende JFiddle
Könnte man überprüfen, ob eine Zeile ausgewählt wurde oder nicht, indem
$(this)[0].classList.contains("selected")
. Dann addieren Sie die Menge von der 5. Spalte der Zeile$(this).find(':nth-child(5)')
auf die Höhe des$('sum')
:Hier ein DEMO