#javascript #forms #radio-button #radio-group
#javascript #формы #переключатель #радиогруппа
Вопрос:
У меня есть несколько переключателей, которые получают свое значение динамически. Затем у меня есть некоторый javascript, который улавливает значения и суммирует их, чтобы они красиво отображались в текстовом поле.
(В основном, как калькулятор, добавляющий значения для общего значения)
Теперь, если кто-то выбирает другой переключатель, он все равно добавляет это значение, но значение последней кнопки в этой группе не вычитается. Это то, что мне нужно сделать, это вычесть невыбранное значение.
Значения моей формы выглядят следующим образом: «5/55», где 55 — это число, которое я использую для своего значения. Текстовое поле, которое я обновляю, называется «уведомлять». Итак, вы видите, что я успешно добавляю значение в поле уведомления с новым выбранным значением переключателя. Как мне избавиться от старого значения, когда в группе выбрано новое?
Вот javascript, который я использую:
<script>
function eventTrigger (e) {
if (! e)
e = event;
return e.target || e.srcElement;
}
function radioClick (e) {
var obj = eventTrigger (e);
var notify = document.getElementById amp;amp;
document.getElementById ('notify');
if (notify)
var partsArray = obj.value.split('/');
notify.value = Number(notify.value) Number(partsArray[1]);
return true;
}
</script>
Спасибо за любую помощь!
Ответ №1:
Все просто: пересчитывайте конечный результат с нуля каждый раз, когда что-то меняется. Возня с вычитанием старого значения может стать действительно сложной, очень быстрой и не стоит того, если только вам не нужно выполнять действительно сложные вычисления, которые выиграли бы от ускорения. Итак, каждый раз, когда пользователь изменяет выбор, вычисляйте свою сумму на основе выбранных в данный момент значений. Выполнено.
Комментарии:
1. Но значения отправляются скрипту только при нажатии на переключатель. Как мне получить значения уже выбранных кнопок при выборе новой? Мне нужно было бы сделать это, если бы я каждый раз начинал с нуля.
2. Логика должна быть такой: пользователь делает выбор, скрипт собирает все выбранные значения, суммирует их и выводит их куда-нибудь. Промыть, повторить. Любую другую логику трудно синхронизировать с тем, что происходит. Вероятно, вам придется переписать свой скрипт, чтобы реализовать эту логику.