суббота, 6 января 2018 г.

Калькулятор зарплаты

В Казахстане, как и в России, а также как и в других странах, из зарплаты забираются налоги, и разнятся только проценты. В Казахстане подоходный налог составляет 10% от заработной платы. Для того чтобы рассчитать какая сумма должна быть выдана на руки, нужно взять полную заработную плату, и от нее отнять 10%. Но дело в том, что кроме налога из зарплаты забираются также пенсионные взносы, а могут быть еще и профсоюзные. Так же для уменьшения налоговых отчислений из полной заработной платы отнимается еще и минимальная заработная плата. То есть 10% подоходного берется от полной суммы минус пенсионный, минус МЗП. Для того чтобы в очередной раз попрактиковаться в javascript, я накидал очередной калькулятор

Общая зарплата:
МЗП:




Налог:
В пенсионный:
В профсоюз:
Зарплата на руки:

Далее идет пояснение как он работает на javascript. Для того чтобы пересчет осуществлялся на лету во все элементы вставляется конструкция onchange="calc()", которая вызывает скрипт calc.
Чекбокс с профессиональными взносами можно включать и выключать щелкая не только на квадрате но и по тексту, это позволяет сделать конструкция label
<input type="checkbox" id="prof" onchange="calc()">
<label for="prof" >Профсоюзные взносы 1%</label> </br>
Так же label можно использовать и для радиокнопок, каждую из них заключают в тег, без указания for (так как он используется для элементов с конкретным id). В самом скрипте переменной checkbox присваивается document.querySelector("#prof");
var checkbox = document.querySelector("#prof");
а потом появляется конструкция, которая мне очень нравится - это условие, которое заменяет стандартную конструкцию с if
profzp = checkbox.checked ? fullzp*0.01 : 0;
Если чекбокс отмечен, то profzp = fullzp*0.01, а иначе profzp = 0;
Есть много интересных конструкций, которые можно использовать есть в статье на хабре https://habrahabr.ru/post/245731/
Проверить работу скрипта можно в онлайн редакторе javascript https://js.do/samples/calculator

Комментариев нет:

Отправить комментарий