Pracuję nad prostym systemem rezerwacji samochodów dla pierwszego roku projektu, który jest między innymi wprowadzeniem do javascript.Javascript update price select onchange
Na pierwszej stronie wartości wprowadzone przez użytkownika są przekazywane do strony 2 za pomocą php, a mój javascript poniżej działa poprawnie w celu obliczenia ceny najmu.
mój problem
Jednak na stronie 2 użytkownik może zmieniać swoją rezerwację, tj modernizacji typ samochodu. Co powinno skutkować wzrostem lub zmniejszeniem ceny w zależności od wybranego przez użytkownika carGroup
.
Mój problem podczas dodawania elementu onchange
do select
dla carGroup
cena nie zmienia się i nie otrzymuję żadnych błędów, które nie ułatwiają debugowania sytuacji.
Poniższy kod jest dość prosty, byłbym bardzo wdzięczny, gdyby ktoś mógł go przesłać i być może doradzić, gdzie się nie udam.
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, jedyny problem z moim JSFIDDLE jest to, że funkcja calcPrice()
powinien działać na <body onload="calcPrice()">
który podejrzewam nie dzieje się w JSFIDDLE
HolyMoly Dziękuję bardzo – Marilee
moja przyjemność! szczęśliwe kodowanie! – HolyMoly