首页 > 解决方案 > jQuery weekpicker,firstDay 设置为星期一。但是周日选错了一周

问题描述

我一直在努力解决这个问题很长时间。我把一个日期选择器变成了一个星期选择器,但是每当我选择一个星期天时,它会选择下一周而不是选定的星期(注意:它仍然会突出显示选定星期的星期天)。

起初将星期日作为第一天似乎很好,但是我希望它从星期一开始,因此我添加了适当的代码。这是问题开始出现的时候。

 $('.week-picker').datepicker( {
    firstDay: 1, <-----
    showWeek: true,
    showOtherMonths: true,
    selectOtherMonths: true,

我创建了一个粗略的JSFiddle来演示这个问题。

任何帮助将不胜感激,也可以随时提出任何问题,因为我知道有时我可能会错过一些急需的细节。谢谢

标签: jquerydatepicker

解决方案


您需要补偿 getDay 和 firstDay 设置为“1”之间的差异。意思是,如果它设置为星期日,您需要从星期日倒退,因为 Date.getDay 总是将星期日视为“0”,并且它不尊重 jQuery UI 选择器的设置。

这是一个更新的小提琴:https ://jsfiddle.net/x5z7xpk0/

    startDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + (date.getDay() ? 1 : -6 ));
    endDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + (date.getDay() ? 7 : 0 ));

推荐阅读