0

I am using datpicker to provide options to select the month/year only and when the month is selected, a form is submitted with the selected value.

这是代码: 带有此代码的jquery ui datepicker :

    $(document).ready(function(){
        $("#datepicker").datepicker( {
            changeMonth: true,
            changeYear: true,
            showButtonPanel: false,
            yearRange: "2013:2015",
            onChangeMonthYear: function(dateText, inst) { 
                console.log($(".ui-datepicker-year :selected",$(this)).val() 
                    + "/" + $(".ui-datepicker-month :selected",$(this)).val());
            }
        });
    });

但是有两种情况,返回的数字是错误的。

(console.log 中的值)

  1. 如果您尝试选择一个月,比如说 2013 年 10 月,返回值为 2013/9,这没关系。现在,如果您尝试单击箭头转到 2013 年 11 月,则该值再次为 2013/9,这是错误的。同样从 2013 年 12 月到 2012 年 1 月返回 2013/11

  2. 如果你走到结尾“dec 2015”,然后点击下一个箭头,它会回到开头的“jan 2013”​​,这没关系,但是继续点击下一个箭头,你会发现你不能再移动了从“2013 年 12 月”到“2014 年 1 月”,它移回到“2013 年 1 月”

任何帮助表示赞赏。

4

1 回答 1

1

onChangeMonthYear()接收新选择的年份和月份作为参数,因此您可以直接使用它们

            ...
            minDate: new Date(2013, 1 - 1, 1),
            maxDate: new Date(2015, 12 - 1, 31),
            onChangeMonthYear: function(year, month, inst) { 
                console.log(
                    year + "/" + month
                );
            }
于 2013-09-04T17:19:10.403 回答