1

jQuery Datepicker 遇到了一个奇怪的问题。我已设置选项changeMonth: true以启用月份更改。

说,如果我的日期选择器显示日期02/05/2013并且当我只是将月份更改为四月(不单击控件中的任何一天)时,日期将显示为02/04/2013。但是当我从控件中获取日期时,我最终得到的是旧月份值而不是新选择的月份值。

代码:

$('#uxStartDateTime').datetimepicker({
    timeFormat: "hh:mm tt",
    dateFormat: "dd/mm/yy",
    showButtonPanel: false,
    changeMonth: true,
    changeYear: true
});

//getting the date
var startDate = $('#uxStartDateTime').datetimepicker('getDate');

//formatting this date to it send via ajax to c#
startDate = startDate.getFullYear() + "-" + (startDate.getMonth() + 1) + "-" + startDate.getDate() + " " + startDate.getHours() + ":" + startDate.getMinutes();

我的方法有什么问题还是这是一个已知问题?

4

1 回答 1

2

正如 adeneo 在他的评论中指出的那样,这是预期的日期选择器行为。如果要更改此设置,则必须编写一个在月份更改时触发的方法。

$('.ui-datepicker-month').change(function () {
    // if there is a value in your controller, change it
});

我将把添加/减去月份的实际逻辑留给你。

于 2013-05-14T16:36:49.050 回答