Все вроде нормально. Вот что я попробовал: ( рабочий пример )
HTML:
<form>
<input type="checkbox" id="c1" value="1"> <label for="c1">test</label>
<input type="checkbox" id="c2" value="2"> <label for="c2">test</label>
<input type="checkbox" id="c3" value="4"> <label for="c3">test</label>
<input type="checkbox" id="c4" value="8"> <label for="c4">test</label>
</form>
<div id="result"></div>
Javascript:
function recalcTotalPrice(s) {
var total = 0;
s.find(':checked').each(function() {
total += parseInt(this.value, 10);
});
$('#result').html(total);
}
var selector = $('form');
$("input[type='checkbox']", selector).change(function() {
recalcTotalPrice(selector);
});