星期六只在.JS Datepicker

时间:2015-09-29 16:48:42

标签: javascript jquery datepicker

我正在使用预先集成的.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
    });

如果有人能用一个片段指出我正确的方向,我将非常感激!

2 个答案:

答案 0 :(得分:0)

您是否尝试过使用getDay()?

$(function() {
  $("#datepicker").datepicker({
    beforeShowDay: function(date) {
        if(date.getDay() == 6) {
            return [true];   
        } else {
            return [false];   
        }
    }
  });
});

答案 1 :(得分:0)

beforeShowDay param:

上引用the docs
  

一个以日期作为参数的函数,必须返回一个数组:

[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 */];

Demo