2014-09-30 3 views
0

У меня есть .datepicker(), созданный с помощью JQuery UI, теперь я хочу сделать так:Отключить всю неделю на основе выбранной даты на datapicker

  1. Отключить все выходные и праздничные дни,
  2. Отключить всю неделю, как только пользователь выбирает день в неделю. Скажите, что пользователи выбирают вторник, 09/23/2014, тогда датпикер должен отключить понедельник, 09/22/2014 - воскресенье, 28.09.2014.

Я думал о beforeShowDay и onSelect функцию, но я не знаю, как совместить мое требование вместе.

Маленький код может помочь:

$("#datepicker").datepicker({ 
    showOn: "button", 
    buttonImage: "/painstorder/jquery-ui/images/calendar.gif", 
    buttonImageOnly: true, 
    minDate: "dateToday", 
    maxDate: new Date(2016, 2, 6),  
    buttonText: "Select date", 
    dateFormat: "DD, d MM, yy", 
    beforeShowDay: $.datepicker.noWeekends 
}); 
+0

Вы получили право думать, но что ты пробовал? Вы можете создать функцию, которая проверяет выбранные даты и возвращает true/false на 'beforeShowDay'. Это поможет вам начать работу: http://api.jqueryui.com/datepicker/#option-beforeShowDay https://github.com/jquery/jquery-ui/blob/5ddc7cd4d325a78e6dae3b7fbdc6313294a6d637/ui/datepicker.js # L1072 – rcdmk

+0

Вы хотите отключить всю неделю после этого на том же datepicker? Поэтому, когда пользователь хочет изменить дату на том же datepicker, он не сможет выбрать эти даты (ранее отключенные) ??? –

+0

@BojanPetkovski Хорошая точка. Но просто скажите, что, если я хочу это сделать? Какие-либо предложения? –

ответ

0

Здесь вы рабочий пример http://jsfiddle.net/L25d7Lzy/1/

$("#datepicker").datepicker({ 
    minDate: "dateToday", 
    maxDate: new Date(2016, 2, 6),  
    buttonText: "Select date", 
    dateFormat: "DD, d MM, yy", 

    beforeShow: function() { 
     if ($('#datepicker').val()) { 
      var thedate = new Date($('#datepicker').val()); 
      var minDate = new Date(thedate.setDate(thedate.getDate() + 7)); 
      $('#datepicker').datepicker("option", "minDate", minDate); 
     } 
    }, 
    beforeShowDay: $.datepicker.noWeekends, 
}); 

Вы можете изменить его под свои нужды :)

+0

Спасибо! Но я хочу отключить на этой неделе выбранную дату. Это меня обманывает. –

Смежные вопросы