jQuery datepicker restricts selectable year

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-11 22:57:33

问题


I have two datepickers which only return years (i.e. 2014/2015). Datepicker 56 must be equal to or greater than datepicker55, which in one resepect the below code achieves. Datepicker56 when selected can be equal to or greater than datepicker55 however if I change datepicker55 to 2011/2012 then select datepicker56 to amend my year as being 2011/2012 it won't let me, it's first selectable year sticks at 2015. Datepicker56 can be selected on its own also. However if 55 is selected and then removed 56 again gets stuck on 2015 and won't let any previous years be selected. Is there a way to solve these issues?

$("#datepicker55").datepicker({
    dateFormat: "yy",
    onSelect: function(d) {
        $(this).val((parseInt(d) - 1) + '/' + d);
        var date1 = $('#datepicker55').datepicker('getDate');
        var date = new Date(Date.parse(date1));
        date.setDate(date.getDate() + 1);
        var newDate = date.toDateString();
        newDate = new Date(Date.parse(newDate));
        $('#datepicker56').datepicker("option", "minDate", newDate);

    },
    viewMode: "years",
    changeYear: true,
    beforeShowDay: $.datepicker.noWeekends
});

$("#datepicker56").datepicker({
    dateFormat: "yy",
    onSelect: function(d) {
        $(this).val((parseInt(d) - 1) + '/' + d);
    },
    viewMode: "years",
    changeYear: true,
    beforeShowDay: $.datepicker.noWeekends
});

回答1:


According to the Datepicker API doc, null is the default value for minDate

$("#datepicker55").on("change", function() {
    if ($(this).val() === "") { // you deleted the value from it
        $("#datepicker56").datepicker("option", "minDate", null);
    }
});


来源:https://stackoverflow.com/questions/33549050/jquery-datepicker-restricts-selectable-year

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!