Я работаю над простой системой бронирования автомобилей в течение первого года проекта, который среди прочего представляет введение в javascript.Javascript update price select onchange
На первой странице значения, введенные пользователем, передаются на страницу 2 с помощью php, и мой javascript ниже работает правильно, чтобы рассчитать стоимость аренды.
Моя проблема
Однако, на странице 2 пользователь может изменить свой заказ, то есть обновление тип автомобиля. Это может привести к увеличению или уменьшению цены в зависимости от выбранного пользователем carGroup
.
Моя проблема, когда им добавления onchange
к select
элемент для carGroup
цена не меняется, и им не получить никаких ошибок, не делает ситуацию легче отлаживать.
Код, приведенный ниже, является довольно простым, я был бы очень признателен, если бы кто-то мог дать ему сканирование и, возможно, посоветуйте, где я ошибаюсь.
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, единственная проблема с моим JSFIDDLE является то, что calcPrice()
функция должна работать на <body onload="calcPrice()">
, который я подозреваю, это не происходит в JSFIDDLE
HolyMoly Большое спасибо – Marilee
мое удовольствие! счастливое кодирование! – HolyMoly