2012-04-13 4 views
1

У меня есть календарь jQuery. Я должен сделать так, чтобы только понедельник или вторник и т. Д. Можно было выбирать в зависимости от других переменных. Теперь, если сегодня 27 апреля 2012 года, а выбираемые дни - четверг, с учетом 27 апреля 2012 года или текущей даты, месяц по умолчанию будет по-прежнему апрель, даже если там нет доступных дат.Открыть следующий месяц, если выбранная дата выпадает в следующем месяце

Как это сделать, чтобы в этом случае месяц по умолчанию был месяцем, в котором в нем есть доступные дни.

Надеюсь, что эта цифра будет полезна!

enter image description here

ответ

1

Вы можете использовать пользовательскую функцию, чтобы установить defaultDate/minDate. Здесь у меня есть массив, который определяет действительные дни недели. Если текущая дата не одна, она перемещается вперед, пока не найдет ее. Вы можете настроить что-то вроде этого для конкретного использования:

var validDays = [0, 1, 1, 0, 0, 1, 0]; 

function firstDate() { 
    var valDate = new Date(); 
    valDate.setDate(valDate.getDate() + 14); 
    var day = valDate.getDay(); 
    var i = 0; 
    while (validDays[day] != 1 && i < 7) { 
     valDate.setDate(valDate.getDate() + 1); 
     day = valDate.getDay(); 
     i++; 
    } 
    return valDate; 
} 

function validDate(date) { 
    if (validDays[date.getDay()] == 1) { 
     return [true, ""]; 
    } else { 
     return [false, ""] 
    } 
} 

$(function() { 
    $("#datepicker").datepicker({ 
     beforeShowDay: validDate, 
     minDate: firstDate(), 
     defaultDate: firstDate() 
    }); 
}); 

Demo: http://jsfiddle.net/jtbowden/LgLr9/1/

+0

Спасибо это работает, но я уже установили дату мин как +14 дней. в этом случае, что мне нужно изменить, чтобы заставить его работать – Kaushtuv

+0

Вам нужно добавить 'valDate.setDate (valDate.getDate() + 14);' после первой строки 'firstDate()'. Отредактировано выше. –

+0

Спасибо работает как шарм:) – Kaushtuv

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