通过选择菜单改变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");
起初。
我正在尝试通过 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");
起初。