Question

J'ai plusieurs boutons radio qui obtiennent leur valeur dynamique. Ensuite, je javascript que les prises les valeurs et les additionne ils affichent bien dans une zone de texte.

(essentiellement comme une calculatrice ajout de valeurs pour une valeur totale)

Maintenant, si quelqu'un choisit un autre bouton radio, il ajoute encore cette valeur, mais la valeur du dernier bouton de ce groupe ne soit pas soustrait. C'est ce que je dois faire est de soustraire le Désélectionné valeur.

Mes valeurs de forme ressemblent à ceci: « 5/55 » Où 55 est le numéro que je me sers de ma valeur. Le champ de texte que je mets à jour est appelé « notifier ». Donc, vous voyez que je suis en ajoutant avec succès la valeur dans le champ notifier à la nouvelle valeur sélectionnée bouton radio. Juste comment puis-je me débarrasser de l'ancienne valeur lorsqu'un nouveau est sélectionné dans un groupe?

Voici le javascript J'utilise:

<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>

Merci pour toute aide!

Était-ce utile?

La solution

Keep it simple: recalcule votre résultat final à partir de zéro à chaque fois que quelque chose change. Déconner avec soustraction de l'ancienne valeur peut être vraiment complexe très rapidement et ne vaut pas, sauf si vous avez des calculs très complexes à effectuer qui pourraient bénéficier de l'accélération. Donc, chaque fois que l'utilisateur change une sélection, calculer votre somme en fonction des valeurs sélectionnées. Terminé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top