Здравствуйте. Я создаю калькулятор маржи с множеством вычислений для разных полей. Проблема, с которой я сталкиваюсь, заключается в том, что некоторые вычисления работают, а другие не работают вообще или их необходимо вводить в определенном порядке c. Я экспериментировал с двумя расчетами именно потому, что они очень похожи. javascript для этих расчетов:
function weeklyTaxablePay() {
var weekly_taxable_pay = parseInt(document.getElementById('taxable_wage').value) *
parseInt(document.getElementById('average_hours_per_week').value);
if (!isNaN(weekly_taxable_pay)) {
document.getElementById('weekly_taxable_pay').value = weekly_taxable_pay;
}
}
function weeklyAdminFee() {
var weekly_admin_fee = parseInt(document.getElementById('taxable_wage').value) * .14 *
parseInt(document.getElementById('average_hours_per_week').value);
if (!isNaN(weekly_admin_fee)) {
document.getElementById('weekly_admin_fee').value = weekly_admin_fee;
}
}
Форма HTML, в которой входы имеют следующий вид:
<div class="butfix">
<label style="width: 50%; float: left;">Taxable Wage (Hourly)</label>
<input class="input-field butfix" style="float: left; width: 10;" type="text" id="taxable_wage" onkeyup="weeklyInvoice(); weeklyAdminFee();">
</div>
<div>
<label style="width: 30%;">Average Hours Per Week</label>
<input class="input-field" style="width: 10%;" type="text" id="average_hours_per_week" onkeyup="weeklyInvoice(); weeklyTaxablePay(); weeklyAdminFee(); grossPay();">
</div>
Их выходы:
<div style = "margin-top: 2%;">
<label style="width: 30%;">Weekly Taxable Pay</label>
<output class="input-field" style="width: 10%;" type="text" id="weekly_taxable_pay" onkeyup="grossProfitPerWeek();"></output>
</div>
<div>
<label style="width: 30%;">Weekly Admin Fee (To Include Payroll Taxes, WC, Onboarding)</label>
<output class="input-field" style="width: 10%;" type="text" id="weekly_admin_fee" onkeyup="grossProfitPerWeek();"></output>
</div>
Я могу получить «еженедельную административную плату», чтобы показать результат независимо от того, в каком порядке я ввожу его значения, однако «еженедельная налогооблагаемая оплата» должна быть введена в указанном порядке c, в котором указан код. Я даже изменился код будет таким же, как «еженедельная плата за администрирование», и он все равно будет выводиться только в исходном порядке. Некоторые другие вещи, которые я пробовал, пытаются добавить «размытие» и «изменение», такие как:
average_hours_per_week.addEventListener("change");
taxable_wage.addEventListener("change");
weekly_taxable_pay.addEventListener("change");
или
$("input").change(function weeklyTaxablePay() {
var weekly_taxable_pay = parseInt(document.getElementById('average_hours_per_week').value) *
parseInt(document.getElementById('taxable_wage').value);
if (!isNaN(weekly_taxable_pay)) {
document.getElementById('weekly_taxable_pay').value = weekly_taxable_pay;
}
})
Я просматривал другие сообщения и пробовал другие правки но ничего не работает. Поэтому, если у кого-то есть какие-либо сведения о том, как я могу добавить все эти входные данные в любом порядке и при этом получить результаты выходных данных, которые будут высоко оценены.