0

Использование Bootstrap 3 Datetimepicker v4 http://eonasdan.github.io/bootstrap-datetimepicker/ вместе с Moment 2.9 и другими необходимыми файлами.Bootstrap DateTimePicker issue select maxDate, когда вход не имеет значения

Мне нужно вызвать событие изменения, когда пользователь выбирает дату с помощью выбора, независимо от значения поля ввода. Для меня имело смысл иметь пустое значение для ввода и вместо этого использовать заполнитель с максимально допустимым значением.

<div class="row"> 
<div class="col-sm-6"><div class="form-group"> 
<div class="input-group date" id="dayjump"> 
<input type="text" class="form-control" value="" placeholder="24" name="dayportal" id="dayportal" /> 
<span class="input-group-addon"><i class="fa fa-calendar"></i></span> 
</div> 
</div></div> 
</div> 

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

$("#dayjump").datetimepicker({ 
    useCurrent: false, 
    format: "D", 
    minDate: moment("2/7/2015","M/D/YYYY"), 
    maxDate: moment("02/24/2015","M/D/YYYY"), 
    icons: { 
     time: "fa fa-clock-o", 
     date: "fa fa-calendar", 
     up: "fa fa-arrow-up", 
     down: "fa fa-arrow-down", 
     previous: "fa fa-angle-left", 
     next: "fa fa-angle-right", 
     today: "fa fa-thumb-tack", 
     clear: "fa fa-trash" 
    } 
}); 
$("#dayjump").on("dp.change",function (e) { 
    var y = moment(e.date).format("YYYY"); 
    _m = moment(e.date).format("M"); 
    _d = moment(e.date).format("D"); 
    alert("year=" + y + " month=" + _m + " date=" + _d); 
}); 

см скрипку здесь https://jsfiddle.net/spasticdonkey/waoLzwz5/1/

вы заметите в примере, что все даты кроме MaxDate могут быть выбраны, и пытается выбрать MaxDate не будет обновлять поле ввода, а также.

+0

вы могли бы быть более ясным мат .. – Outlooker

ответ

3

Я думаю, это ошибка. У меня есть предупреждение в консоли:

Предупреждение об устаревании: моментная конструкция возвращается к js Date. Это обескураживает и будет удалено в предстоящем крупном выпуске. Пожалуйста, обратитесь к https://github.com/moment/moment/issues/1407 за дополнительной информацией.

Вы можете использовать костыль, чтобы исправить это:

maxDate: moment("02/25/2015","M/D/YYYY"), 
disabledDates: [ 
     "02/25/2015" 
], 

Установите дату +1 и вывести его из строя.

DEMOhttps://jsfiddle.net/maxlipsky/waoLzwz5/4/

+0

спасибо за ваше время и ваше предложение может быть возможным решением для меня, хотя моя фактическая форма является немного более сложным и имеет месяц и год выбор сборщики; которые порождают другую ошибку. 'TypeError: o.find не является функцией' [link] (http://jsfiddle.net/spasticdonkey/bfw9zm3c/1/) –

+0

Вы правы, это была ошибка и, похоже, уже была рассмотрена в их ветке развития , –

+0

через год после этого исправлена ​​эта ошибка? –