Как всегда показывать дни на DatePicker, когда открыт?
Я использую 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>
Чего я хочу достичь, так это того, что каждый раз, когда я закрываю сборщик и снова открываю его, у меня всегда будет сборщик дней. Прямо сейчас, если я нахожусь в "месяцах выбора даты" и щелкаю снаружи, сборщик закроется, и если я снова открою его, он снова покажет представление по месяцам, но я хочу дни.
Я пробовал с:
on('dp.show', function(e) {
$(".datepicker-days").show();
$(".datepicker-months").hide();
$(".datepicker-years").hide();
$(".datepicker-decades").hide();
});
Это выглядит так, как будто это работает: если я закрою его во время просмотра месяцев и снова открою его, я получу указатель даты, но если отсюда я снова нажму на месяц, я получу годы выбора даты.
Любая помощь будет оценена.
РЕДАКТИРОВАТЬ: код здесь: http://jsfiddle.net/xrqkyypd/51/
2 ответа
Ответ довольно прост, используя события и viewMode
функция.
Вы только должны проверить, что когда сборщик скрывается, вы сбрасываете его viewMode
на что вы когда-нибудь захотите, в данном случае дни.
$('#myDatepicker').on('dp.hide', function(e) {
$('#myDatepicker').data("DateTimePicker").viewMode('days')
});
Согласно документации, вы можете установить так:
<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>
Для более подробной информации проверьте режим просмотра