使用jQuery UI datepicker选择下一天和前一天

use*_*564 5 javascript jquery jquery-ui datepicker

我正在使用jQuery UI datepicker,我有一个按钮,可以将所选日期向前更改一天,还有一个按钮可以将所选日期向后更改一天.现在,我的"前一天"按钮工作正常.如果多次单击我的上一个按钮然后单击我的"第二天"按钮,它只会增加一次日期.例如,如果将datepicker设置为2014年1月10日并单击"第二天"按钮,它将更新为2014年1月11日,但如果再次单击它,则不会发生任何事情.如果我点击"第二天"按钮而没有先单击"前一天"按钮,它将正常工作.这是我的jQuery:

var currentDay = new Date();
var nextDay = new Date();
var previousDay = new Date();

$('.next-day').each(function() {
    $(this).on("click", function () {

        if (previousDay < currentDay) {
            nextDay.setDate(previousDay.getDate() + 1);
        } else {
            nextDay.setDate(nextDay.getDate() + 1);
        }

        $('#to').datepicker("setDate", nextDay);
        $('#from').datepicker("setDate", nextDay);
    });
});
Run Code Online (Sandbox Code Playgroud)

编辑:这是一个jsFiddle http://jsfiddle.net/p2T2g/

ade*_*neo 14

事情并不那么难

$('.next-day').on("click", function () {
    var date = $('#picker').datepicker('getDate');
    date.setTime(date.getTime() + (1000*60*60*24))
    $('#picker').datepicker("setDate", date);
});

$('.prev-day').on("click", function () {
    var date = $('#picker').datepicker('getDate');
    date.setTime(date.getTime() - (1000*60*60*24))
    $('#picker').datepicker("setDate", date);
});
Run Code Online (Sandbox Code Playgroud)

小提琴


Jon*_*ers 6

当您考虑夏令时时,上述解决方案并不完全正确 - 例如,像英国这样的国家,你将短1小时,下面更好地做1天增量 -


    $('.next-day').on("click", function () {
        var date = $('#picker').datepicker('getDate');
        date.setDate(date.getDate() + 1)
        $('#picker').datepicker("setDate", date);
    });