jQuery UI Datepicker - отключить сегодняшнюю дату, если сегодня понедельник? - PullRequest
0 голосов
/ 14 июля 2010

jQuery UI Datepicker:

Привет,

Я пытаюсь, чтобы во всплывающем календаре были выбраны только даты понедельника в будущем. Я пробовал этот код:

$(function() {
    $('#dateWeekly').datepicker({
        showOn: 'both', // use to enable calendar button and focus 
        buttonImage: 'childtime/images/calendar.gif',
        buttonImageOnly: true,
        buttonText: 'Show Calendar',
        numberOfMonths: 3,
        showButtonPanel: true,
        minDate: -0, maxDate: '+12M',
        // beforeShowDay: function(date){ return [date.getDay() == 1,""]}
        beforeShowDay: function(date) { return [date.getDay() == 1, "" && date.getTime() != today.getTime(), ""]; }
    });
});

Это отключает все прошлые даты и отключает все будущие дни, кроме понедельника (пока все хорошо), но не может отключить сегодняшнюю дату, если сегодня понедельник. Любые предложения будут оценены. Спасибо!

Ответы [ 3 ]

0 голосов
/ 14 июля 2010

Установите minDate в +1d.

Поскольку вы должны выбирать только будущий понедельник, нельзя выбирать сегодня, независимо от того, какой сегодня день.

И вы можете упростить ваш beforeShowDay до:

beforeShowDay: function(date) {
        return [date.getDay() == 1, ""];
}
0 голосов
/ 19 февраля 2013

Ниже код может быть решением для этого вопроса.

    beforeShowDay: function(date) { 
          returnFlag = true;    
              currentDate = new Date();
          if( date.getDay() == 1 && date.getDate() == currentDate.getDate()  
                                 && date.getMonth() == currentDate.getMonth()){
                returnFlag = false;
          }
          return [returnFlag,'',false];

    }
0 голосов
/ 14 июля 2010

Может быть, это может помочь

$(function() {
  $('#dateWeekly').datepicker({
    showOn: 'both', // use to enable calendar button and focus 
    buttonImage: 'childtime/images/calendar.gif',
    buttonImageOnly: true,
    buttonText: 'Show Calendar',
    numberOfMonths: 3,
    showButtonPanel: true,
    minDate: -0, maxDate: '+12M',
    beforeShowDay: function(date) { 
      // from here
      var selectable = true;
      var today = new Date()
      if( today.getDay() == 1 && date.getDate() == today.getDate() )selectable = false;
      return [selectable,'',false];
      // til here
    }
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...