Frage

Ich habe mehrere Optionsfelder, die ihren Wert dynamisch erhalten. Dann habe ich ein JavaScript, das die Werte aufnimmt und sie fügt, damit sie in einem Textfeld gut angezeigt werden.

(Grundsätzlich wie ein Taschenrechner, der Werte für einen Gesamtwert hinzufügt)

Wenn jemand ein anderes Optionsfeld auswählt, fügt es diesen Wert immer noch hinzu, aber der Wert der letzten Taste in dieser Gruppe wird nicht abzugsbedingt. Das muss ich tun, um das abzuziehen abgewählt Wert.

Meine Formwerte sehen so aus: "5/55", wobei 55 die Zahl ist, die ich für meinen Wert verwende. Das Textfeld, das ich aktualisiere, heißt "Benachrichtigung". Sie sehen also, dass ich den Wert im Feld Benachrichtigung erfolgreich mit dem neu ausgewählten Optionsschaltfläche hinzufügen kann. Wie kann ich den alten Wert loswerden, wenn ein neuer in einer Gruppe ausgewählt wird?

Hier ist das JavaScript, das ich verwende:

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

Vielen Dank für jede Hilfe!

War es hilfreich?

Lösung

Halten Sie es einfach: Berechnen Sie Ihr Endergebnis jedes Mal neu, wenn sich etwas ändert. Wenn Sie mit dem Subtrahieren des alten Wertes herumspielen, kann es sehr schnell komplex werden und es ist nicht wert, es sei denn, Sie haben wirklich komplexe Berechnungen, die von der Beschleunigung profitieren würden. Berechnen Sie also jedes Mal, wenn der Benutzer eine Auswahl ändert, Ihre Summe basierend auf den aktuell ausgewählten Werten. Fertig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top