2015-04-11 5 views
0

Я застрял в датах блокировки в bootstrap datepicker. Мне нужно, чтобы он имел 7-дневный период с даты начала и блокировал все даты, которых нет в течение 7 дней.Заблокировать даты в bootstrap datepicker

например, пользователь выбирает 11 апреля 2015 года. Этот пользователь может выбрать даты только до 18 апреля 2015 года, которые быть конечной датой. Может кто-то, пожалуйста, помогите мне.

Спасибо.

Вот мой код для бухгалтера выбора даты.

var nowDate = new Date(); 
var today = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), 0, 0, 0, 0); 

$('#startdate').datetimepicker({ 
    minDate:today, 
    format: 'YYYY-MM-DD HH:MM:SS' 
}).change(function (selected) { 
    var startDate = new Date(selected.date.valueOf()); 
    $('#enddate').datetimepicker('maxDate', startDate+10); 
}); 
+0

Прежде всего, я заметил, что вы еще не закрыли свою функцию, но ваша главная функция пока отсутствует. отступы это показывает вам;) – Dorvalla

+0

Есть ли какая-то особая причина, почему вы не устанавливаете minDate и maxDate в объекте options? – Wex

+1

@Wex Кажется, что «#startdate» и «#enddate» - это два разных датпикера. Он хотел бы, чтобы «#enddate» динамически обновлялся как изменения «#startdate». – Gavin

ответ

1

Прежде всего, вы не можете напрямую выполнять арифметические операции в виде Date объекта. Вместо этого вы должны это сделать.

function getEndDate(date) { 
    date.setDate(date.getDate() + 10); 
    return date; 
} 

Во-вторых, вы должны быть в состоянии установить minDate и maxDate варианты.

$('#startdate').datetimepicker({ 
    minDate: today, 
    format: 'YYYY-MM-DD HH:MM:SS' 
}).change(function (selected) { 
    var startDate = new Date(selected.date.valueOf()); 
    $('#enddate').datetimepicker('maxDate', getEndDate(startDate)); 
}); 
+0

@Nadia Это работает для вас? – Gavin

+0

Нет, он все еще не работает. Календарь даты окончания не будет отображаться. – Nadia

+0

Календарь показывает, но не блокирует даты. – Nadia

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