Ich arbeite an einem einfachen Auto Reservierungssystem für ein erstes Jahr Projekt, das unter anderem eine Einführung in Javascript ist.Javascript Update Preis wählen onchange
Auf Seite eins werden die Werte, die der Benutzer eingegeben hat, auf Seite 2 mit PHP übergeben, und mein untenstehendes Javascript funktioniert korrekt, um den Mietpreis zu berechnen.
Mein Problem
jedoch auf Seite 2 der Benutzer können ihre Buchung bearbeiten, das heißt Fahrzeugtyp Upgrade. Dies sollte entweder zu einer Preiserhöhung oder -minderung führen, abhängig von dem vom Benutzer ausgewählten carGroup
.
Mein Problem, wenn im das onchange
, um das select
Element für carGroup
der Preis nicht addiert das Ändern und im keinen Fehler bekommen, die nicht ist einfacher zu debuggen, die Situation zu machen.
Der Code unten ist ziemlich einfach, ich würde es sehr schätzen, wenn jemand könnte es einen Scan geben und vielleicht beraten, wo ich falsch liege.
UI
Javascript
function calcPrice() {
var oneDay = 24 * 60 * 60 * 1000;
var firstDate = document.getElementById("firstDate").value;
var secondDate = document.getElementById("secondDate").value;
var date1 = firstDate.substring(0, 11);
var date2 = secondDate.substring(0, 11);
date1 = date1.replace(/\//g, ",");
date2 = date2.replace(/\//g, ",");
var firstDate = new Date(date1);
var secondDate = new Date(date2);
var diffDays = Math.round(Math.abs((firstDate.getTime() - secondDate.getTime())/(oneDay)));
//calculate rental price
var price;
var dayRate;
var carGroup = document.getElementById("group").value;
//change values to increase or decrease price
var a = 250;
var b = 500;
var c = 750;
var d = 1000;
if (carGroup == 'a') {
price = diffDays * a;
dayRate = a;
} else if (carGroup == 'b') {
price = diffDays * b;
dayRate = b;
} else if (carGroup == 'c') {
price = diffDays * c;
dayRate = c;
} else if (carGroup == 'd') {
price = diffDays * d;
dayRate = d;
}
document.getElementById("rentalInfo").innerHTML = diffDays + ' Day Rental, At: ' + dayRate + ' Per Day. <span style="color:red; font-weight:bold"> Total Price: ' + price + '</span>';
}
Html
<select onChange="calcPrice()"name="carType" id="group">
<option selected value="<?php echo $carType ?>"><?php echo $carType?></option>
<option value="a">Group A (Hyundai I10)</option>
<option value="b">Group B (VW POLO)</option>
<option value="c">Group C (Corolla)</option>
<option value="d">Group D (Bakkie)</option>
</select>
</div><!--formGroup-->
JSFIDDLE
I created a JSFIDDLE here, ist das einzige Problem mit meinem JSFIDDLE dass die calcPrice()
Funktion auf <body onload="calcPrice()">
laufen soll, die ich vermute, geschieht nicht in JSFIDDLE
holymoly danken Ihnen sehr viel – Marilee
mein Vergnügen! fröhliche Codierung! – HolyMoly