Здравствуй, Уважаемый!
Прошу помощи в решении нелегкой задачи создания калькулятора с помощью javascript, jquery или даже angular.js
Для более детального пояснения задачи прикладываю jpg, чтобы наглядно объяснить, чего пытаюсь добиться.
Подскажите, пожалуйста, методы решения следующей задачи:
Хочу создать калькулятор, где input'ы будут
зависимы друг от друга, и в зависимости от их значений будет выполняться расчет стоимости. Я уже замучился в поиске решений или похожих примеров, для решения моей задачи - всё безуспешно
1. Первая часть состоит из 4-х форм (
x, y, z и
суммы), где значения
y и
z меняются в зависимости от нажатия на
1, 2, 3. Значение
x заполняется вручную.
Сумма считается посредством умножения
x, y, z.
2. Вторая часть состоит из 6-и форм (
A,B,C,D,E,F), где значение
A берется из
y (или так же, как и
y, при нажатии на
1,2,3). Форма
B заполняется вручную с клавиатуры. Значение
C берет уже заполненное значение
B и прибавляет 5%. Форма
E берет уже посчитанное значение
C и умножает на
y (которое уже определено в п.1). Значение
F вводится вручную с клавиатуры. Форма
D показывает результат
F деленное на
A.
3. Третья часть состоит из объединения п.1 и п.2, т.е. общего результата проделанного расчета. Эти последние 9 форм могут быть простыми неактивными input'ами или span'ами.
Форма
I берет уже посчитанное значение
C. Форма
L берет уже посчитанное значение
E. А форма
O умножает посчитанное
E на
D.
Форма
H берет введенное значение
B. Форма
K берет введенное значение
B и умножает на
A (либо
y), затем плюсует
сумму. Форма
N берет посчитанное значение
K и умножает на посчитанное ранее
D.
Форма
G выдает результат вычитания
I -
H, форма
J вычитание
L -
K, ну а
M O -
N.
На практике можно обойтись без
A,H,I,L, потому что они всё равно дублируют значения указанные ранее. В jpg файле оранжевые поля означают, что ввод в них производится с клавиатуры. Форма
C оранжевого цвета так же означает, что она может быть изменена, но не повлияет на
B, а только лишь на
E и
O (и
L, когда будет туда передаваться).
Вот я и ломаю голову, как всё это связать вместе. Ведь иерархия вычислений прослеживается, а как брать результат из вычислимого input'а не понимаю
Подскажите, пожалуйста, метод создания такой формы или похожий пример, где можно было бы подсмотреть похожую реализацию. Буду безгранично благодарен!!!