asked on May 23, 2017
Hello,
I have a form that documents mileage reimbursement request and then totals the reimbursement amount for each cost center/department. The calculations in forms did not work so I had to do this via Javascript. The calculation is not totaling for the department if the account is selected after the mileage is entered.
Here is an example of my form. As you can see, the admin department total did not sum the second line when I selected the admin account after the mileage information. Is there a javascript I can use that will update the total prior to submission?
$(document).ready(function () { $('.cf-table-block').on('blur', 'input', sumtotal); function sumtotal() { var total = 0; var admin=0 var HearingSupervision=0 var HearingCounseling=0 var AudioSupport=0 var VisionMulti=0 var OM=0 var SpeechLanguage=0 var TherapyServices=0 var OperationsMaintenance=0 var HearingInterpreter=0 var STEP=0 var Inservice=0 var HIProgram=0 var HISummer=0 var HearingTeaching=0 var VisionTeaching=0 var AdaptivePE=0 var Autism=0 var AssistiveTech=0 $('.cf-table-block tbody tr').each(function () { var s = 0; s = parseNumber($(this).find('.rate input').val()) * parseNumber($(this).find('.miles input').val())+ parseNumber($(this).find('.miscellaneous input').val()); $(this).find('.subtotal input').val(s).change(); total += parseNumber(s); if (($(this).find('.Account select').val() == "01-Admin")) { admin += parseNumber(s); } if (($(this).find('.Account select').val() == "04-Hearing Supervision")) { HearingSupervision += parseNumber(s); } if (($(this).find('.Account select').val() == "05-Hearing Counseling")) { HearingCounseling += parseNumber(s); } if (($(this).find('.Account select').val() == "06-Audio Support")) { AudioSupport += parseNumber(s); } if (($(this).find('.Account select').val() == "07-Vision/Multi")) { VisionMulti += parseNumber(s); } if (($(this).find('.Account select').val() == "08-O/M")) { OM += parseNumber(s); } if (($(this).find('.Account select').val() == "09-Speech/Language")) { SpeechLanguage += parseNumber(s); } if (($(this).find('.Account select').val() == "10-Therapy Services")) { TherapyServices += parseNumber(s); } if (($(this).find('.Account select').val() == "16-Operations and Maintenance")) { OperationsMaintenance += parseNumber(s); } if (($(this).find('.Account select').val() == "17-Hearing Interpreter")) { HearingInterpreter += parseNumber(s); } if (($(this).find('.Account select').val() == "18-STEP")) { STEP += parseNumber(s); } if (($(this).find('.Account select').val() == "19-Inservice")) { Inservice += parseNumber(s); } if (($(this).find('.Account select').val() == "20-HI Program")) { HIProgram += parseNumber(s); } if (($(this).find('.Account select').val() == "21-HI Summer")) { HISummer += parseNumber(s); } if (($(this).find('.Account select').val() == "23-Hearing Teaching")) { HearingTeaching += parseNumber(s); } if (($(this).find('.Account select').val() == "24-Vision Teaching")) { VisionTeaching += parseNumber(s); } if (($(this).find('.Account select').val() == "26-Adaptive PE")) { AdaptivePE += parseNumber(s); } if (($(this).find('.Account select').val() == "29-Autism")) { Autism += parseNumber(s); } if (($(this).find('.Account select').val() == "30-Assistive Tech")) { AssistiveTech += parseNumber(s); } }); $('.total input').val(total).change(); $('.admin input').val(admin).change(); $('.HearingSupervision input').val(HearingSupervision).change(); $('.HearingCounseling input').val(HearingCounseling).change(); $('.AudioSupport input').val(AudioSupport).change(); $('.VisionMulti input').val(VisionMulti).change(); $('.OM input').val(OM).change(); $('.SpeechLanguage input').val(SpeechLanguage).change(); $('.TherapyServices input').val(TherapyServices).change(); $('.OperationsMaintenance input').val(OperationsMaintenance).change(); $('.HearingInterpreter input').val(HearingInterpreter).change(); $('.STEP input').val(STEP).change(); $('.Inservice input').val(Inservice).change(); $('.HIProgram input').val(HIProgram).change(); $('.HISummer input').val(HISummer).change(); $('.HearingTeaching input').val(HearingTeaching).change(); $('.VisionTeaching input').val(VisionTeaching).change(); $('.AdaptivePE input').val(AdaptivePE).change(); $('.Autism input').val(Autism).change(); $('.AssistiveTech input').val(AssistiveTech).change(); } function parseNumber(n) { var f = parseFloat(n); //Convert to float number. return isNaN(f) ? 0 : f; //treat invalid input as 0; } });
Thank you!
0
0