@Evtera

Как учитывать в калькуляторе несколько input.checked?

Здравствуйте. Пишу небольшой калькулятор. Есть изначально число, которое мы получаем в переменную totalSumPerTick из класса let range1 = new rSlider. Привёл его для большей наглядности, в целом, этот класс в данном вопросе мало участвует.

Далее, есть два поля с радиокнопками. За них отвечает класс let formCount = new FormCount. Нужно, чтобы по клику на радио-кнопку происходила прибавка значения(которое берется из html тега value у input) к totalSumPerTick. Я это сделал, но работает некорректно, а именно в строчке 94. При клике на радиокнопку учитывается только одна кнопка из одного поля. Если будет кликнута вторая кнопка из второго поля, то она перезапишет значения, без учета кнопки из другого поля.

Как можно учитывать все input:checked из обоих полей, чтобы они суммировались к общему значению?

  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Evtera Автор вопроса
Решил задачу, хоть и топорно. Если кто может подсказать, как сократить, буду рад

this.buttons[index].addEventListener("change", () => {
totalSum.value = Number(totalSum.innerText.match(/[0-9/.]+/g));
let checkedInputs = document.querySelectorAll(":checked");
let marginPrice = [];

checkedInputs.forEach((el) => marginPrice.push(Number(el.value)));
let marginPriceSum = marginPrice.reduce((a, b) => a + b);

if (checkedInputs.length > 0) {
totalSum.value = totalSumPerTick + marginPriceSum;
totalSum.innerText = totalSum.value + " рублей";
}
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы