我正在致力于第一年项目的简单汽车预订系统,其中包括对javascript的介绍。Javascript更新价格选择onchange
在第一页上,用户输入的值用php传递给页面2,下面我的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