我希望默认情况下将选择器设置为未来一个月.这很好用:
<script type="text/javascript">
$(function () {
$('#enddatepicker').datetimepicker({
defaultDate: moment().add(1, 'M').toDate(),
locale: 'de',
format: 'DD.MM.YYYY'
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
但是,我也希望日期不会在明天之前.所以我尝试添加一个minDate选项:
<script type="text/javascript">
$(function () {
$('#enddatepicker').datetimepicker({
minDate: moment().add(1, 'd').toDate(),
defaultDate: moment().add(1, 'M').toDate(),
locale: 'de',
format: 'DD.MM.YYYY'
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
但是,现在默认日期设置为minDate(即明天).我可以独立于最短日期设置默认日期吗?
解决了先前的defaultDate问题后,我有了一个新问题。JavaScript代码如下:
$(function () {
$('#datepicker').datetimepicker({
useCurrent: false,
maxDate: moment().toDate(),
locale: 'de',
defaultDate: moment().toDate(),
format: 'DD.MM.YYYY'
});
});
Run Code Online (Sandbox Code Playgroud)
当我访问页面时,未设置默认日期。重新加载时,将设置默认日期,并保持设置不变,直到我浏览到另一个页面然后返回表单为止。然后,通常不会设置默认日期,尽管有时会设置。如果未设置,日期选择器将不起作用(单击输入字段无效),控制台将显示错误消息:
未捕获到的TypeError:根据组件设置验证,传递的defaultDate()日期无效
在JSFiddle上,该行为甚至更陌生。首次加载时,通常不会设置日期。在进行进一步的重新加载时,它会被设置,但有时,如果您单击“足够频繁地运行”则不会。对我来说,这似乎是一个错误,但是由于我并不真正了解JavaScript,所以我想问一下...