Keeping a tally of INPUT contents
Given a set of inputs, keep a running total as dollars of all numbers within them.
HTML
<input type="text" class="test" id="lineAmount"></input><br>
<input type="text" class="test" id="lineAmount"></input><br>
<hr>
<input type="textbox" id="DepositSum">
<div id="para"></div>
JavaScript
function formatNumber(myStr) {
myStr = myStr.toString().replace(/\$|\,/g, '');
return myStr;
}
function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g, '');
if (isNaN(num)) num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num * 100 + 0.50000000001);
cents = num % 100;
num = Math.floor(num / 100).toString();
if (cents < 10) cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
if (num == "0") {
return (" ");
} else {
return (((sign) ? '' : '-') + '$' + num + '.' + cents);
}
}
$(".test").keyup(function (e) {
var add = 0;
$('.test').each(function () {
tmpVal = $(this).val().toString().replace(/\$|\,/g, '');
if (isNaN(tmpVal) == false) {
add += Number(tmpVal);
}
});
$("#para").text("Sum of all textboxes is : " + formatCurrency(add));
$("#DepositSum").val(formatCurrency(add));
});
$(".test").blur(function () {
$(this).val(formatCurrency($(this).val()));
});
$(".test").focus(function () {
$(this).val(formatNumber($(this).val()));
});