Pregunta

Tengo varios botones de radio que obtienen su valor dinámicamente. Luego tengo un JavaScript que atrapa los valores y los agrega para que se muestren muy bien en un cuadro de texto.

(Básicamente como una calculadora que agrega valores para un valor total)

Ahora, si alguien selecciona otro botón de radio, aún agrega ese valor, pero el valor del último botón en ese grupo no se resta. Eso es lo que necesito hacer es restar el deseleccionado valor.

Mis valores de formulario se ven así: "5/55" donde 55 es el número que estoy usando para mi valor. El campo de texto que estoy actualizando se llama "notificar". Entonces, ya ves, estoy agregando con éxito el valor en el campo Notificar con el valor del botón de radio recién seleccionado. ¿Cómo me deshace del valor anterior cuando se selecciona uno nuevo en un grupo?

Aquí está el JavaScript que estoy usando:

<script>
function eventTrigger (e) {
    if (! e)
        e = event;
    return e.target || e.srcElement;
}

function radioClick (e) {
    var obj = eventTrigger (e);
    var notify = document.getElementById &&
                    document.getElementById ('notify');
    if (notify)
    var partsArray = obj.value.split('/');
        notify.value = Number(notify.value) + Number(partsArray[1]);
    return true;
}
</script>

¡Gracias por cualquier ayuda!

¿Fue útil?

Solución

Manténgalo simple: vuelva a calcular su resultado final de Scratch cada vez que algo cambia. Morlarse con restar el valor antiguo puede ser realmente complejo muy rápido y no vale la pena, a menos que tenga cálculos realmente complejos para realizar que se beneficiarían de la aceleración. Por lo tanto, cada vez que el usuario cambia una selección, calcule su suma en función de los valores seleccionados actualmente. Hecho.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top