jquery: greifen die Werte von mehreren Auswahlmenüs jedesmal, wenn eine neue Option gewählt wird

StackOverflow https://stackoverflow.com/questions/1564635

  •  21-09-2019
  •  | 
  •  

Frage

Ich baue eine Live-Preisangebot Form mit jQuery, eine Reihe von Auswahlmenüs. Ich habe unten mit dem Code kommen, die die Standardwerte von jedem Auswahlmenü packt und fügt sich zusammen:

$(document).ready(function(){
 $('select > option:selected').each(function() {
  var value = $(this).attr('label');

  total = parseFloat(total) + parseFloat(value);
  total = total.toFixed(2);
 });
 printTotal(total); // prints the total price
});

Das einzige Problem ist, dass dies nur funktioniert, wenn die Seite geladen. Ich würde den Preis gerne ein neuer Wert jedes Mal aktualisiert wird, wird in einen des Auswahlmenüs ausgewählt (es gibt 6).

Ich habe versucht, Hinzufügen von $ ( "select") Änderung (function () {...} mit einem Trigger (wie in der

Andere Tipps

Wenn innerhalb der change Aufruf testen, müssen Sie sicherstellen, dass Sie options im Rahmen des select Element suchen, dass Sie darauf geklickt wurde.

$('select').change(function() {
    var total = 0;

    // note the second parameter passed to the $() function below
    $('option:selected', $(this)).each(function() {
        var value = $(this).attr('label');
        total += parseFloat(value).toFixed(2);
    });
    printTotal(total);
});
scroll top