0

Я использую Eonasdan Bootstrap DateTimePicker: http://eonasdan.github.io/bootstrap-datetimepicker/Bootstrap DateTimePicker неверная дата по умолчанию с MinDate

Хотя я не могу получить MinDate и MaxDate работать, как ожидалось. Поскольку дата является динамическим и изменяет скрипку устанавливается УПП с moments.js' Вычесть/добавить

Условия

minDate = today + 1 day 
maxDate = today + 3 days 
default value = today + 2 days 

Вышеприведенные возвращает значение завтра, а не значение по умолчанию. Если minDate изменен на -2 дня, он работает нормально.

См Fiddle: http://jsfiddle.net/9uqpu88v/8/

twoDaysFromToday = moment().add(2, 'd').format('YYYY-MM-DD'); 

$('#datetimepicker1 input').val(twoDaysFromToday); 
     var datetimepicker = $('#datetimepicker1').datetimepicker({ 
     format: 'YYYY-MM-DD', 
     minDate: moment().add(1, 'd').format('YYYY-MM-DD'), // Tomorrow 
     maxDate: moment().add(3, 'd').format('YYYY-MM-DD'), // Three days from today 
    }) 


<div class="form-group"> 
    <div class="input-group date" id="datetimepicker1"> 
    <input type="text" id="datetimepicker1" class="form-control" value="" />  
    <span class="input-group-addon"><span class="glyphicon-calendar glyphicon"></span></span> 
    </div> 
</div> 
+0

Что такое 'момент()' делать? – Jonathan

+0

Я не вижу проблем в вашей скрипке ('minDate' и' maxDate' установлены на заданное значение «жесткого кодирования»), в то время как в вашем фрагменте отсутствуют требуемые библиотеки. В любом случае, я предлагаю использовать формат определения функции синтаксического анализа (см. [Docs] (http://momentjs.com/docs/#/parsing/string-format/)). В вашем примере: 'moment ('2016-07-01,' YYYY-MM-DD ')' вместо 'moment (' 2016-07-01 ')'. – VincenzoC

+0

Я отредактировал Fiddle –

ответ

0

Вы можете передать момент объект вместо строки в minDate и maxDate. Используйте опцию defaultDate, чтобы установить значение для вашего сборщика вместо jQuery val(). Обратите внимание, что библиотека также предоставляет метод date для установки значения для компонента.

Использовать момент startOf быть независимым от часа.

Вот рабочий пример:

var datetimepicker1 = $('#datetimepicker1').datetimepicker({ 
 
    format: 'YYYY-MM-DD', 
 
    useCurrent: false, 
 
    defaultDate: moment().startOf('day').add(2, 'd'), 
 
    minDate: moment().startOf('day').add(1, 'd'), 
 
    maxDate: moment().startOf('day').add(3, 'd') 
 
})
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.css" rel="stylesheet"/> 
 
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/css/bootstrap-datetimepicker.css" rel="stylesheet"/> 
 

 
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/js/bootstrap.js"></script> 
 
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script> 
 

 
<div class="form-group"> 
 
    <div class="input-group date" id="datetimepicker1"> 
 
    <input type="text" class="form-control" /> 
 
    <span class="input-group-addon"><span class="glyphicon-calendar glyphicon"></span></span> 
 
    </div> 
 
</div>

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

  • Нет связанных вопросов^_^