bootstrap datetimepicker - 设置maxDate相对于现在?

时间:2016-08-18 15:51:55

标签: javascript twitter-bootstrap momentjs eonasdan-datetimepicker maxdate

我使用这个datetimepicker:
http://eonasdan.github.io/bootstrap-datetimepicker/Options/
基本上我想设置maxDate: moment(),即maxDate应限于现在。 问题是,当datepicker打开时,maxDate不再是now()了。 我想在每次显示datepicker时将maxDate设置为现在。

我希望尽可能全局强制执行,而不是在每个datetimepicker()实例上指定它。有可能以某种方式使用moment.js给出相对日期吗?

看到这个小提琴:
https://jsfiddle.net/0Ltv25o8/3281/
我将maxDate设置为now。您将在页面加载后一分钟内看到,您无法使用箭头按钮选择当前分钟。

3 个答案:

答案 0 :(得分:4)

如何使用datepicker插件的自定义版本?

我添加了新参数maxDateNow(更好名称的任何想法?),允许选择截止日期/时间。

$('#datetimepicker1').datetimepicker({maxDateNow: true, format:'DD/MM/YYYY HH:mm'});

请参阅此fiddle

答案 1 :(得分:2)

您可以收听dp.show事件,以便每次选择器显示时都可以将maxDate更改为当前时间。这是一个代码示例:



$('#datetimepicker1').datetimepicker({
  maxDate: moment(), 
  format:'DD/MM/YYYY HH:mm'
}).on('dp.show', function(){
  $('#datetimepicker1').data("DateTimePicker").maxDate(moment());
});

<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>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

我使用了Liked This,它将min Date设置为今天的日期

 $( '#Field_ID' ).datepicker({dateFormat: 'dd-MM-yy', minDate : new Date()});