我能够计算入住日期和退房日期之间的差异,以获得入住天数以及退房日期是否在入住日期之前。如何将用户选择的酒店房间乘以天数乘以?
但是,我很难弄清楚如何选择用户选择的房间(标准,女王,国王,商务或豪华),并将该房间的每晚费用乘以入住酒店的天数。
如果可能的话,我还想使用type =“date”而不是datepicker。
<!DOCTYPE html>
<html>
<head>
<script>
\t \t function check() {
\t \t \t var date1 = new Date(document.getElementById('checkin').value);
\t \t \t var date2 = new Date(document.getElementById('checkout').value);
\t \t \t var diff = Math.abs(date2.getTime() - date1.getTime());
\t \t \t var dayDiff = Math.ceil(diff/(1000 * 3600 * 24));
\t \t \t if (date1 > date2){
\t \t \t \t alert("Check-out date must be after check-in date!")
\t \t \t }
\t \t \t else {
\t \t \t \t calculate();
\t \t \t } \t
\t \t }
</script>
<body>
<form>
\t <fieldset>
\t <legend>Reserve Hotel Room</legend>
\t \t \t Check-In Date:<br>
\t \t \t <input type="date" id="checkin" name="checkin" required>
\t \t \t <br><br>
\t \t \t Check-Out Date:<br>
\t \t \t <input type="date" id="checkout" name="checkout" required>
\t \t \t <br><br>
\t \t \t Room:
\t \t \t <select id="room" name="room" onchange="report(this.value)">
\t \t \t \t <option id="standard" value="50">Standard ($50/night)</option>
\t \t \t \t <option id="queen" value="75">Queen ($75/night)</option>
\t \t \t \t <option id="king" value="100">King ($100/night)</option>
\t \t \t \t <option id="business" value="125">Business ($125/night)</option>
\t \t \t \t <option id="deluxe" value="150">Deluxe Suite ($150/night)</option>
\t \t \t </select>
\t \t \t <button type="submit" onclick="check()">Submit</button>
\t \t \t </fieldset>
\t </form>
</body>
会是这样的工作? \t \t function calculate(); \t \t \t如果(的document.getElementById( “标准”) \t \t \t \t VAR报告= THIS.VALUE * 50 * dayDiff; – ChaCol
输入型 “日期” 不会被使用的所有浏览器都支持这样不实际的所有您需要做的是在*室*元素的值乘以天数:'dayDiff *的document.getElementById(“房间”)value'你或许应该使用* Math.round *,而不是* Math.ceil *。 (检查夏令时范围) – RobG