通过选择菜单改变bootstrap datepicker minViewMode

Change bootstrap datepicker minViewMode by selection menu

我正在尝试通过 select 菜单更改日期选择器的 minViewMode,该菜单具有三个 selection:日、月和年。

我做了什么:

$('#timeInterval').change(function(){
    if($(this).val() === "Month") {
        $('#datepicker-default .date').datepicker({
            format: "yyyy/mm",
            autoclose: true,
            minViewMode: "months"
        });
    } else if($(this).val() === "Year") {
        $('#datepicker-default .date').datepicker({
            format: "yyyy",
            autoclose: true,
            minViewMode: "years"
        });
    } else {
        $('#datepicker-default .date').datepicker({
            format: "yyyy/mm/dd",
            autoclose: true
        });
    }
});

以及 selection 菜单:

<select class="custom-select" id="timeInterval" name="timeInterval">
    <option selected="" value="0">Select to choose...</option>
    <option value="Year">Year</option>
    <option value="Month">Month</option>
    <option value="Day">Day</option>
    <option value="Hour">Hour</option>
</select>

现在,当我选择菜单的 selection 时,它会正确初始化并且运行良好。 但是当我尝试切换时(例如从月到年),它不起作用,仍然在 minViewMode = months(或我第一次选择的任何东西)上工作。

任何想法将不胜感激。

解决。 只需添加

$('#datepicker-default .date').datepicker("destroy");

起初。