如何在日期选择器打开时始终显示日期?

How to show always days on datepicker when is open?

我正在使用 eonasdan-bootstrap-datetimepicker:

<input type="text" class="form-control" ng-model="$ctrl.date" id="dateStart">
<script type="text/javascript">
    $("#dateStart").datetimepicker({
    format: 'ddd, D MMMM YYYY',
    showTodayButton: true
    });
</script>

我想要实现的是,每次我关闭选择器并重新打开它时,我总是会有日期选择器。 现在,如果我在 "datepicker-months" 中并单击外部,选择器将关闭,如果我重新打开它,它将再次显示月视图,但我想要天数。

我试过:

on('dp.show', function(e) {
    $(".datepicker-days").show();
    $(".datepicker-months").hide();
    $(".datepicker-years").hide();
    $(".datepicker-decades").hide();
});

这种方式看起来很有效:如果我在月视图中关闭它并重新打开它,我会得到日期选择器,但如果我从这里再次点击月份,我会得到日期选择器-年..

如有任何帮助,我们将不胜感激。

编辑: 代码在这里: http://jsfiddle.net/xrqkyypd/51/

根据文档,你可以这样设置:

<div class="container">
    <div class="col-sm-6" style="height:130px;">
        <div class="form-group">
            <div class='input-group date' id='datetimepicker9'>
                <input type='text' class="form-control" />
                <span class="input-group-addon">
                    <span class="glyphicon glyphicon-calendar">
                    </span>
                </span>
            </div>
        </div>
    </div>
    <script type="text/javascript">
        $(function () {
            $('#datetimepicker9').datetimepicker({
                viewMode: 'years' //days, weeks etc
            });
        });
    </script>
</div>

有关详细信息,请查看 view mode

使用 events and viewMode 函数,答案非常简单。

您只能检查当拾取器被隐藏时,然后将他的viewMode重置为您想要的,在这种情况下为“天”视图。

$('#myDatepicker').on('dp.hide', function(e) {
  $('#myDatepicker').data("DateTimePicker").viewMode('days')
});