bootstrap-timepicker - 只获取年份和月份 - 不显示日期选择器

bootstrap-timepicker - get only years and month - dont show day selector

我正在使用 bootstrap-timepicker: https://eonasdan.github.io/bootstrap-datetimepicker/#min-view-mode 并使用 "Min View Mode" 因为我只想得到一年和一个月。没有 "day"。在他们的示例中,它工作正常。但是当我使用它时,首先你 select 一年,然后一个月然后它就可以工作了。但是,当您更改此 val 时,它会显示一个日期选择器。

它必须显示年或月,但不能显示日。

代码笔在这里:http://codepen.io/r2get/pen/bwaZog

<div class="col-xs-12 product-prijs-cont">
    <div class="row">
        <div class="col-md-6">
            <h1 class="custom-h1" style="border:0;"><i class="fa fa-sliders supp-color-price-page"></i>&nbsp;Filter jaar</h1>
        </div>
        <div class="col-md-6 padding-bottom-year-filter">
            <div class="input-group date" id="datetimepicker" style="margin-top:-3px;">
                <input type="text" id="yearSelector" class="form-control input-group-addon" />
                <span class="input-group-addon">
                    <span class="glyphicon glyphicon-calendar"></span>
                </span>
            </div>
        </div>
    </div>
</div>

在第一次输入时它起作用 select 首先是年,然后是月,它显示了年和月。但是在第二次尝试(更改)时它必须显示年或月,但它显示日

根据 bootstrap-datetimepicker.js 源代码,一旦弹出窗口关闭,当前视图模式将被重置(不知道为什么,联系这个库的贡献者可能会更好):

currentViewMode = 0; 

这就是下次显示默认视图 (days) 的原因。

解决方法

一个选项是在显示弹出窗口后强制显示 years 视图:

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

演示

Updated codepen