This one stumbled me for a bit. I kept trying to calculate the total of 5 input fields using jquery/javascript. But the numbers kept concatenating.
Turns out that if any of the input fields don't have a value, then it becomes a string and so the whole value becomes a string.
A little trick to get around this is to simply - zero which will convert it to a number without affecting the result.
eg:
var tot = ($('#MarginVatForm_purchaseCost1').val() - 0) + ($('#MarginVatForm_purchaseCost2').val() - 0) + ($('#MarginVatForm_purchaseCost3').val() -0) + ($('#MarginVatForm_purchaseCost4').val() - 0) + ($('#MarginVatForm_purchaseCost5').val() - 0);
This is only for the + operator because it doubles as string concatenation. Other arithmetic operators seem fine.
No comments:
Post a Comment