You're adding strings, not numbers. You need to convert your inputs to numbers before performing arithmetic on them.
var $generaltestprice = parseFloat($(this).closest('form').find('#ctrl-generaltestprice').val());
var $generaltax_vat_per = parseFloat($(this).closest('form').find('#ctrl-generaltax_vat_per').val());
var $generaltax_vat_amt_dom = parseFloat($(this).closest('form').find('#ctrl-generaltax_vat_amt'));
var $generaltesttotalamt_dom = parseFloat($(this).closest('form').find('#ctrl-generaltesttotalamt'));
parseFloat() - JavaScript | MDN[
^]
If the values are entered by the user, you should also check that they are valid numbers - call
isNaN
on each parsed number to see if it's invalid.
isNaN() - JavaScript | MDN[
^]