Skip to content

Instantly share code, notes, and snippets.

@arifhp86
Forked from nikolajbaer/gist:778800
Last active August 29, 2015 14:20
Show Gist options
  • Save arifhp86/666785e5507131301b42 to your computer and use it in GitHub Desktop.
Save arifhp86/666785e5507131301b42 to your computer and use it in GitHub Desktop.
<html><head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
function tally (selector) {
$(selector).each(function () {
var total = 0,
column = $(this).siblings(selector).andSelf().index(this);
$(this).parents().prevUntil(':has(' + selector + ')').each(function () {
total += parseFloat($('td.sum:eq(' + column + ')', this).html()) || 0;
})
$(this).html(total);
});
}
tally('td.subtotal');
tally('td.total');
});
</script>
</head>
<body>
<table id="data">
<tr><th>Name</th><th>Age</th><th>Weight</th></tr>
<tr><td>Joe</td><td>30</td><td class="sum">175</td><td class="sum">1</td></tr>
<tr><td>Jack</td><td>29</td><td class="sum">165</td><td class="sum">1</td></tr>
<tr><td>Jim</td><td>31</td><td class="sum">178</td><td class="sum">1</td></tr>
<tr><td>Jeff</td><td>28</td><td class="sum">173</td><td class="sum">1</td></tr>
<tr><th colspan="2" align="right">Sum</th><td class="subtotal"></td><td class="subtotal"></td></tr>
<tr><td>Jane</td><td>30</td><td class="sum">120</td><td class="sum">2</td></tr>
<tr><td>Jackie</td><td>30</td><td class="sum">112</td><td class="sum">2</td></tr>
<tr><th colspan="2" align="right">Sum</th><td class="subtotal"></td><td class="subtotal"></td></tr>
<tr><th colspan="2" align="right">Total</th><td class="total"></td><td class="total"></td></tr>
</table>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment