我正在使用预先集成的.js日期选择器,并且需要确保只选择星期六。
我的代码目前的形式:
(function($){
"use strict";
$.fn.gdlr_datepicker_range = function(){
$(this).datepicker({
minDate: 0,
dateFormat : 'yy-mm-dd',
numberOfMonths: [1, 2],
beforeShowDay: function(date) {
var date1 = $.datepicker.parseDate('yy-mm-dd', $("#gdlr-check-in").val());
var date2 = $.datepicker.parseDate('yy-mm-dd', $("#gdlr-check-out").val());
return [date.getDay() === 6, date1 && ((date.getTime() == date1.getTime()) || (date2 && date >= date1 && date <= date2)) ? "dp-highlight" : ""];
},
onSelect: function(dateText, inst) {
var date1 = $.datepicker.parseDate('yy-mm-dd', $("#gdlr-check-in").val());
var date2 = $.datepicker.parseDate('yy-mm-dd', $("#gdlr-check-out").val());
if (!date1 || date2) {
$("#gdlr-check-in").val(dateText);
$("#gdlr-check-out").val("");
} else {
$("#gdlr-check-out").val(dateText).trigger('change');
}
},
closeText: objectL10n.closeText,
currentText: objectL10n.currentText,
monthNames: objectL10n.monthNames,
monthNamesShort: objectL10n.monthNamesShort,
dayNames: objectL10n.dayNames,
dayNamesShort: objectL10n.dayNamesShort,
dayNamesMin: objectL10n.dayNamesMin,
firstDay: objectL10n.firstDay
});
如果有人能用一个片段指出我正确的方向,我将非常感激!
答案 0 :(得分:0)
您是否尝试过使用getDay()?
$(function() {
$("#datepicker").datepicker({
beforeShowDay: function(date) {
if(date.getDay() == 6) {
return [true];
} else {
return [false];
}
}
});
});
答案 1 :(得分:0)
在beforeShowDay
param:
一个以日期作为参数的函数,必须返回一个数组:
[0]: true/false indicating whether or not this date is selectable [1]: a CSS class name to add to the date`s cell or "" for the default presentation [2]: an optional popup tooltip for this date
很容易猜到解决方案:只需更改beforeShowDay
函数,以便在设置返回数组的第一个元素时检查所选日期的星期几:
return [date.getDay() === 6, /* the rest remains the same */];