仅在单击日期时捕获JQuery Datepicker日期

时间:2013-05-14 16:26:07

标签: javascript jquery jquery-ui-datepicker

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

比如说,如果我的日期选择器显示日期 02/05/2013 ,当我只将月份更改为4月份(不点击控件中的任何一天)时,日期会显示为 2013年2月4日即可。但是当我从控件中获取日期时,我最终得到旧月值而不是新选择的值。

代码:

$('#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();

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

1 个答案:

答案 0 :(得分:2)

这是预期的datepicker行为,正如adeneo在他的评论中所指出的那样。如果要更改此值,则必须编写一个在月更改时触发的方法。

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

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