我正在使用jquery datepicker並試圖找到兩個日期之間的日子。但是,有些日期根據我的數據庫不能選擇,所以我有一些不可用的日期。Jquery - Datepicker計算兩個日期之間的日子
我想要做的是檢查選定的日期範圍,如果他們都可用(否則給div的錯誤),然後計算天數。
我已經到了這裏; 我可以做的是根據我的數據庫禁用日曆上的日期,如果他們被預訂。但是我無法從代碼的範圍之外獲得值(輸入日期),以便我可以檢查日期範圍之間是否有任何預訂日期。
<div class="row">
<!-- Date Picker-->
<label for="from">From</label>
<input type="text" id="from" name="from">
<label for="to">to</label>
<input type="text" id="to" name="to">
<!-- /.Date Picker -->
<div id="combined-dates" style="display:none;">Please select unbooked range..</div>
</div>
</div>
<script>
$(function() {
$.ajax({
type: "GET",
dataType: "json",
url: "/houses/<%= @house.id %>",
success: function(schedules) {
var length = Object.keys(schedules).length
var array = []
for (var i = 0; i < length; i++) {
if (schedules[i].status = " booked ") {
array.push(schedules[i].date)
}
}
$("#from").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 1,
dateFormat: "dd/mm/yy",
onClose: function(selectedDate) {
$("#to").datepicker("option", "minDate", selectedDate);
//var selected1 = selectedDate.split("/")
//console.log(selected1)
},
beforeShowDay: function(date) {
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [array.indexOf(string) == -1]
}
});
$("#to").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 1,
dateFormat: "dd/mm/yy",
onClose: function(selectedDate) {
$("#from").datepicker("option", "maxDate", selectedDate);
//var selected2 = selectedDate.split("/")
//console.log(selected2)
},
beforeShowDay: function(date) {
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [array.indexOf(string) == -1]
}
});
//Non of them works!!
//var d = $('#from').datepicker().val();
//var d = $('#from').datepicker('getDate').val();
//console.log(d);
}
});
});
</script>