5
我的jQuery datepicker字段設置開始和結束字段的最小和最大日期,這似乎甩掉了我編寫腳本的嘗試來計算日期之間的天數選定的日期。我知道其他人已經問過這個問題,但是我在這裏嘗試過的每一個修補程序在stackoverflow上都失敗了,我懷疑是因爲我的代碼中有自定義。任何人都可以請幫我弄清楚如何獲取下面的代碼,並讓它在一個名爲#totaldays的輸入字段中提供一個值。謝謝具有自定義設置的兩個jQuery日期選擇器字段之間的數字天數
// Calendar Dates
/* create an array of days which need to be disabled */
var disabledDays = ["11-13-2012","11-14-2012","11-15-2012","11-29-2012","11-30-2012"];
/* utility functions */
function nationalDays(date) {
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
//console.log('Checking (raw): ' + m + '-' + d + '-' + y);
for (i = 0; i < disabledDays.length; i++) {
if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) != -1 || new Date() > date) {
return [false];
}
}
return [true];
}
//Block the Weekends
function noWeekendsOrHolidays(date) {
var noWeekend = $.datepicker.noWeekends(date);
if (noWeekend[0]) {
return nationalDays(date);
} else {
return noWeekend;
}
}
$(document).ready(function() {
$.datepicker.setDefaults({dateFormat: 'mm/dd/yy',minDate: +1,changeMonth: true,changeYear: true,numberOfMonths: 2,constrainInput:true,beforeShowDay:nationalDays,});
var selector = function (dateStr) {
var d1 = $('#datepicker_start').datepicker('getDate');
var d2 = $('#datepicker_end').datepicker('getDate');
var diff = 0;
if (d1 && d2) {
diff = Math.floor((d2.getTime() - d1.getTime())/86400000); // ms per day
}
$('#totaldays').val(diff);
}
$('#datepicker_start').datepicker({onSelect: function(selectedDate) {
var minDate = $(this).datepicker('getDate');
if (minDate) {minDate.setDate(minDate.getDate() + 3);}//min days requires
$('#datepicker_end').datepicker('option', 'minDate', minDate || 1); // Date + 1 or tomorrow by default
}});
$('#datepicker_end').datepicker({minDate: 1, onSelect: function(selectedDate) {
var maxDate = $(this).datepicker('getDate');
if (maxDate) {maxDate.setDate(maxDate.getDate() - 1);}
$('#datepicker_start').datepicker('option', 'maxDate', maxDate); // Date - 1
}});
$('#datepicker_start,#datepicker_end').change(selector)
});
謝謝!
這似乎完全勝任。謝謝adeneo! –
非常酷,但檢查出moment.js ...這是一個很棒的圖書館,任何日期/時間相關。 – Derrick
.getTime()!!! –