Datepicker月份和年份选择错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Datepicker月份和年份选择错误相关的知识,希望对你有一定的参考价值。

我想构建一个只接受Month和Year的日期选择器,所以我只是使用display:none来隐藏CSS的日子,这对我来说很好。然后我更改了datepicker选项,用户只选择Month和Year,并且工作正常。

例如,如果我选择“JAN / 2017”,则输入变化很好。但是如果你再次点击输入,它将不是2017年1月,将是SEP / 2017。为什么?

这是一个plunker:CLICK HERE =)

如果您更喜欢看代码,请访问:

  <body>
<style>
  .ui-datepicker-calendar {display: none!important;}
</style>

<input class="date-picker">

<script>
$('document').ready(function () {
        $('.date-picker').datepicker({
            changeMonth: true,
            changeYear: true,
            showButtonPanel: true,
            dateFormat: 'MM yy',
            onClose: function (dateText, inst) {
                $(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1));
            }
        });

    })
</script>

非常感谢!

@EDIT - 解决了!

我不知道这是不是最好的方式,但是有效!我只是制作了一些操纵DOM的事件

        var mmNow, yyNow;

    $('document').ready(function () {
        $('.date-picker').datepicker({
            changeMonth: true,
            changeYear: true,
            showButtonPanel: true,
            dateFormat: 'MM yy',
            onClose: function (dateText, inst) {
                $(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1));
            }
        }).click(function () {
            $('.date-picker').datepicker('setDate', new Date(yyNow, mmNow, 1));
        }).blur(function(){
            mmNow = ($('.ui-datepicker-month')[0].value)
            yyNow = ($('.ui-datepicker-year')[0].value)
        })
    })
答案

如果你使用它,它应该解决你的问题,除了它也会显示日期

dateFormat: 'MM/dd/yy',
另一答案

例如,如果您想在输入中显示“2017年9月”,则应将dateFormat更改为M yy,如果需要斜线,则应更改为M/yy

以上是关于Datepicker月份和年份选择错误的主要内容,如果未能解决你的问题,请参考以下文章

在 Angular 5 的 Datepicker Material 中仅选择年份和月份

Bootstrap Datepicker - 只有月份和年份不起作用

在IOS中设置Datepicker只选择月份和年份

如何使 ngx-bootstrap datepicker 只能选择和显示月份和年份?

bootstrap datepicker只选择年份

jquery UI datepicker 月份和年份只有 css 定位问题