Я пытаюсь заставить этот калькулятор payslip запускать несколько операторов if, вложенных в eachother.Несколько вложенных операторов if не вычисляются
условия он требует, чтобы удовлетворить следующим образом:
Если ежемесячный размер заработной платы составляет 2000, например и последняя буква кода NI есть А
разработать национальный резерв страхования вы сделайте валовой платеж, деленный на 4. 2000/на 4 = 500. Это означает, что NI-полоса равна a2.
Сумма тогда «брутто * a2» (как показано на переменные, перечисленные в верхней части кода)
Это отображает результат как «Ваш NI дедукции: ??»
Я изо всех сил, чтобы получить, если заявления для запуска, если другая буква вводится .. Например «B»
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script>
function computeNet() {
<!--NI Codes - use https://www.gov.uk/national-insurance-rates-letters/contribution-rates for updates on NI rates--!>
//NI Code A//
var a1 = 0;
var a2 = 0.12;
var a3 = 0.12;
var a4 = 0.02;
//NI Code B//
var b1 = 0;
var b2 = 0.0585;
var b3 = 0.0585;
var b4 = 0.02;
//NI Code C//
var c = 0;
var d1 = 1.4;
var d2 = 0.106;
var d3 = 0.12;
var d4 = 0.02;
//NI Code E//
var e1 = 0;
var e2 = 0.0585;
var e3 = 0.0585;
var e4 = 0.02;
//NI Code J//
var j1 = 0;
var j2 = 0.02;
var j3 = 0.02;
var j4 = 0.02;
//NI Code L//
var l1 = 1.4;
var l2 = 0.02;
var l3 = 0.02;
var l4 = 0.02;
var gross = document.getElementById('gross').value;
var tax_code = document.getElementById('tcode').value;
var ni_code = document.getElementById('ni').value;
var allowance = ((gross - ((tax_code * 10)/12)));
var ni_allowance = (gross/4);
if (ni_code = "A") {
if (ni_allowance > 111 && ni_allowance < 153) {
ni_minus = (gross * a1);
}
else if (ni_allowance > 153.01 && ni_allowance < 770) {
ni_minus = (gross * a2);
}
else if (ni_allowance > 770.01 && ni_allowance < 805) {
ni_minus = (gross * a3);
}
else {
ni_minus = (gross * a4);
}
if (ni_code = "B") {
if (ni_allowance > 111 && ni_allowance < 153) {
ni_minus = (gross * b1);
}
else if (ni_allowance > 153.01 && ni_allowance < 770) {
ni_minus = (gross * b2);
}
else if (ni_allowance > 770.01 && ni_allowance < 805) {
ni_minus = (gross * b3);
}
else {
ni_minus = (gross * b4);
}
}
document.getElementById('ni_deduction').innerHTML = "Your NI deduction:"+ni_minus;
}
}
</script>
</head>
<body>
<p>Your Monthly Gross Pay: £<input id="gross" type="number" onChange="computeNet()"></p>
<p>The numerical part of your tax code: <input id="tcode" type="number" onChange="computeNet()"></p>
<p>last letter of your NI code: <input id="ni" type="text" onChange="computeNet()"></p>
<h2 id="gross_pay"></h2>
<h2 id="paye-deduction"></h2>
<h2 id="ni_deduction"></h2>
<h2 id="net_pay"></h2>
</body>
</html>
код здесь: http://jsfiddle.net/n384noLk/
Жду вашей помощи
Вы должны использовать двойные равные знаки для сравнения. В настоящее время это просто назначение значений. 'if (ni_code ==" A ")' – Himal