【问题标题】:jQuery datepicker restricts selectable yearjQuery datepicker 限制可选择的年份
【发布时间】:2015-11-05 15:51:56
【问题描述】:

我有两个日期选择器,它们只返回年份(即 2014/2015)。 Datepicker 56 必须等于或大于 datepicker55,这在一个方面是下面的代码实现的。选择时的 Datepicker56 可以等于或大于 datepicker55 但是如果我将 datepicker55 更改为 2011/2012 然后选择 datepicker56 将我的年份修改为 2011/2012 它不会让我,它是第一个可选择的年份粘在 2015 年。 Datepicker56 可以自己也选择了。但是,如果选择 55 然后删除 56 再次卡在 2015 年并且不会让任何以前的年份被选择。有没有办法解决这些问题?

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

【问题讨论】:

  • “如果 55 被选中然后删除”是什么意思?你如何“删除”它?
  • 一个选项可能是字面意义上的 destroy 第二个日期选择器,然后重新初始化它。
  • @pistou,我的意思是删除它所在的框中的值,只需单击它并删除它

标签: jquery datepicker


【解决方案1】:

根据Datepicker API docnullminDate的默认值

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

【讨论】:

  • 谢谢 pistou。虽然我不想从 56 中删除该值,但我只想在重新选择时重置日历值,但这可以满足我的需要。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-10
  • 1970-01-01
  • 2011-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多