我使用这个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。您将在页面加载后的分钟内看到,您将无法使用箭头按钮选择当前分钟。
如何使用datepicker插件的自定义版本?
我添加了新的参数maxDateNow
(更好的名字的任何想法?),允许选择日期/时间到现在的时间。
$('#datetimepicker1').datetimepicker({maxDateNow: true, format:'DD/MM/YYYY HH:mm'});
看到这个fiddle
您可以收听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>
我使用了喜欢这个,它将最小日期设置为今天的日期
$( '#Field_ID' ).datepicker({dateFormat: 'dd-MM-yy', minDate : new Date()});