Datepicker月份和年份选择错误

问题描述 投票:0回答:2

我想构建一个只接受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)
        })
    })
javascript jquery jquery-ui datepicker jquery-ui-datepicker
2个回答
0
投票

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

dateFormat: 'MM/dd/yy',

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.