Totaling table columns on change doesn't work!

Totaling table columns on change doesn't work!

I have the following asp web page snippet:
<table id="qii_5" width="60%" align="center" border="1px" cellpadding="3" style="text-align: center">
<tr>
<td class="headingcell">
PK</td>
<td class="numbercell">
<asp:TextBox CssClass="center q5r1add" ID="qii_5_pKmTextBox" runat="server" Text='<%# Bind("qii_5_pKm") %>' Columns="5" TabIndex="9" /></td>
<td class="numbercell">
<asp:TextBox CssClass="center q5r1add" ID="qii_5_pKfTextBox" runat="server" Text='<%# Bind("qii_5_pKf") %>' Columns="5" TabIndex="9" /></td>
<td>
<asp:Label ID="qii_5_pK_totLabel" runat="server" CssClass="q5r1tot subtot" Text='<%# Bind("qii_5_preK_tot") %>' /></td>
</tr>
...rows repeat
<tr>
<td colspan="4" class="headingcell" style="text-align:right">
Total &nbsp;</td>
<td class="headingcell">
<asp:Label ID="qii_5_gtLabel" runat="server" Text='<%# Bind("qii_5_tot") %>' /></td>
</tr>
</table>

I have a jQuery function that adds the 2nd and 3rd columns and puts the total in the 4th column. So far so good. Now I need to add all the totals into a grand total each time one changes. Here is the jQuery I wrote:

$(".subtot").change(function() {
var total = 0;
(this).each(function() {
total += parseInt($(this).val()) || 0;
alert(total);
});
$("#qii_5_gtLabel").text(total);
});

No matter what I do, I never get an alert or ant addition done. What am I doing wrong?