js4-5
by wang_siang
HTML
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.css">
<script src="https://code.jquery.com/jquery-3.7.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.full.min.js"></script>
<div>
<label for="date_timepicker_start">入住日期:</label>
<input id="date_timepicker_start" type="text" readonly>
</div>
<div>
<label for="date_timepicker_end">退房日期:</label>
<input id="date_timepicker_end" type="text" placeholder="Y/M/D" readonly>
</div>
CSS
* {
box-sizing: border-box;
}
div {
margin: 20px 0;
}
JavaScript
// 設定開始日期與結束日期的連動,根據選擇的開始日期限制結束日期
jQuery(() => {
const start = $('#date_timepicker_start');
const end = $('#date_timepicker_end');
start.datetimepicker({
format: 'Y/m/d',
value: new Date(),
onShow: function (ct) {
this.setOptions({
maxDate: end.val() ? end.val() : false
})
},
timepicker: false
});
end.datetimepicker({
format: 'Y/m/d',
onShow: function (ct) {
this.setOptions({
minDate: start.val() ? start.val() : false
})
},
timepicker: false
});
});
// 設定日期格式,格式為 'Y-m-d'
// 禁用時間選擇,讓使用者只能選擇日期(timepicker: false)
// 限制可選日期,不能早於 '2025-01-01'(minDate: '2025-01-01')
// 最大可選日期設定,讓使用者無法選擇超過此日期的時間(maxDate)
// 只能選擇今天以後的日期,設定 minDate 為 0(0 代表今天)
// $("#datetimepicker").datetimepicker({
// minDate: 0 // 0 代表今天
// });
// 顯示 24 小時制(設定 hours12: false)
// 預設選擇今天,設置 value: new Date() 來顯示當前日期