Как я могу получить значение отмененного переключателя?

#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. Логика должна быть такой: пользователь делает выбор, скрипт собирает все выбранные значения, суммирует их и выводит их куда-нибудь. Промыть, повторить. Любую другую логику трудно синхронизировать с тем, что происходит. Вероятно, вам придется переписать свой скрипт, чтобы реализовать эту логику.