jquery datepicker禁用没有beforeShowDay的周末

时间:2017-03-08 09:22:00

标签: jquery datepicker

我已在主页中集成了jQuery DatePicker。问题是我无法使用beforeShowDay功能禁用周末,因为我已使用beforeShowDay标记特定日期。我希望有可能在没有beforeShowDay功能的情况下禁用周末。

$(function() {
  var eventDates = {};
  <?php
    for ($i = 0; $i <= sizeof($view) - 1; $i++)
    {
      $date = explode(":" , $view[$i]);
        echo "eventDates[ new Date( '" . $date[1] . "' )] = new Date( '" . $date[1] . "' );";
    }
  ?>

  $("#datepicker").datepicker({
    firstDay: 1,
    dateFormat: "yy-mm-dd",
    maxDate: new Date,
    minDate: "2016-03-08",
    dayNames: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
    dayNamesShort: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
    dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
    onSelect: function(dateText, inst) {
      $("#datepicker_value").val(dateText);
      $(this).parent('form').submit();
    },
    beforeShowDay: function(date) {
      var highlight = eventDates[date];
      if (highlight) {
        return [true, "eventyellow", ''];
      } else {
        return [true, '', ''];
      }
    }
  });
});

1 个答案:

答案 0 :(得分:0)

您仍然可以使用http_repository,只需要将当前逻辑与排除周末的逻辑相结合。

假设您正在使用jQueryUI日期选择器,那么它有一个内置方法来排除周末 - beforeShowDay。试试这个:

$.datepicker.noWeekends();

Working example