Как открыть jickery datepicker в следующем месяце, если в этом месяце нет доступных дней? - PullRequest
3 голосов
/ 30 марта 2012

Я использую jquery datepicker с фильтром beforeShowDay, который включает только вторники.Если я близок к концу месяца и вторников больше нет, сборщик открывается на текущий месяц без доступных дат.

Как мне распознать эту ситуацию со сборщиком?Есть ли способ запросить доступные даты за выбранный месяц или что-то в этом роде?

Если я узнаю эту ситуацию, как я могу открыть окно выбора в следующем месяце, когда пользователь нажимает кнопку?

Есть ли автоматический способ сделать это?

Ответы [ 3 ]

3 голосов
/ 30 марта 2012

Попробуйте это jsfiddle Я сделал.

$(document).ready( function() {
    $('#datepicker').datepicker({
        defaultDate: nextTuesday(),
        beforeShowDay: enableTuesdays
    });
});

function enableTuesdays(date) {
    // 0 =s unday, 1 = monday, 2 = tuesday, 3 = wednesday,
        // 4 = thursday, 5 = friday, 6 = saturday
    var day = date.getDay();
    return [(day == 2), ''];
}

function nextTuesday() {
    var today = new Date();
    var offset = (today.getDay() < 2) ? 0 : 7;
    var daysUntilTuesday = 2 + offset - today.getDay();
    return '+'+daysUntilTuesday;
}
0 голосов
/ 30 марта 2012

Хотя это не означает выяснения логики открытия календаря на следующий месяц, если больше нет доступных дат.Если внешний интерфейс позволяет это сделать, вы можете открыть средство выбора даты с двухмесячным просмотром, таким образом, у вас всегда будут даты на выбор?опция инициализации DatePicker.

$('#datepicker').datepicker({ numberOfMonths: 2 });
0 голосов
/ 30 марта 2012

Используйте метод выбора даты setDate() - http://jqueryui.com/demos/datepicker/#method-setDate - для установки календарной даты на следующий доступный вторник в событии beforeShowDay.

Существует пример для получения следующего определенногодень недели здесь: Получить дату определенного дня недели в JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...