如何在打开eonasdan-bootstrap-datetimepicker时始终显示日期选择面板?
解决eonasdan-bootstrap-datetimepicker打开默认显示日期面板的问题
我完全懂你的困扰——这个日期选择器默认会记住你上次关闭时的视图状态,所以如果上次停留在月份面板,下次打开就会直接回到那里。要解决这个问题,我们可以通过监听选择器的dp.show事件,在每次打开时强制切换到日期(days)视图。
修改后的代码实现
首先是HTML部分(和你原来的一致):
<input type="text" class="form-control" ng-model="$ctrl.date" id="dateStart">
然后是JavaScript部分,添加事件监听来强制切换视图:
$("#dateStart").datetimepicker({ format: 'ddd, D MMMM YYYY', showTodayButton: true }).on('dp.show', function() { // 获取日期选择器实例,强制切换到days视图 $(this).data('DateTimePicker').viewMode('days'); });
原理说明
dp.show事件会在日期选择器每次被打开时触发,不管是第一次打开还是关闭后重新打开。- 通过
$(this).data('DateTimePicker')获取到选择器的实例,调用viewMode('days')方法就能直接切换到日期选择面板,覆盖之前的视图状态。
这样修改后,不管你上次关闭时停留在哪个面板(月份、年份甚至decade),下次打开选择器都会默认显示日期面板啦!
内容的提问来源于stack exchange,提问作者Stack Diego
相关产品推荐
相关产品推荐

