使用下一个箭头时,在jquery ui的datepicker中返回错误的值

时间:2013-09-04 17:04:18

标签: javascript jquery jquery-ui datepicker jquery-ui-datepicker

我正在使用datpicker来提供仅选择月份/年份的选项,当选择月份时,将使用所选值提交表单。

这是代码: 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. 如果你到了“2015年12月”结束,然后点击下一个箭头,它会回到“jan 2013”​​的开头,这没关系,但是继续点击下一个箭头,你将会请注意,你不能再从“2013年12月”移动到“2014年1月”,它会回到“2013年1月”

  3. 感谢任何帮助。

1 个答案:

答案 0 :(得分: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
                );
            }