在日期时间选择器中选择一周的最后一天
Selecting last day of week in datetimepicker
我正在使用 moment.js
尝试 select 在 datetimepicker
中 select 一周的最后一天,但它 returns每周最后一天的连续循环。我不确定我做错了什么请有人帮助我。
这是我试过的JS
JS
$(datePick).on('change.datetimepicker', () => {
var datetimePicker = $("#datetimepicker1").val();
lastDate = moment(datetimePicker, "YYYY-MM-DD").day(7).format("YYYY-MM-DD");
$(datePick).val(lastDate);
});
谢谢!
在您的示例中,您不是 select 一周的最后一天,而是使用 moment(...).day(7)
的下一周的星期日。之后你设置值,这将再次触发on change函数,将值设置为一周后的星期日。等等……(不断循环)
因此您需要将 moment(...).day(7)
更改为 moment(...).day(6)
,这将 select 是本周的星期六。在第二次尝试时,它不会再次更改值并停止循环。
如果您想 select 下周日而不是周六作为本周末的结束,我建议您这样做
$(datePick).on('change.datetimepicker', () => {
var datetimePicker = $("#datetimepicker1").val();
if (moment(datetimePicker.day() !== 0) {
lastDate = moment(datetimePicker, "YYYY-MM-DD").day(7).format("YYYY-MM-DD");
$(datePick).val(lastDate);
}
});
我正在使用 moment.js
尝试 select 在 datetimepicker
中 select 一周的最后一天,但它 returns每周最后一天的连续循环。我不确定我做错了什么请有人帮助我。
这是我试过的JS
JS
$(datePick).on('change.datetimepicker', () => {
var datetimePicker = $("#datetimepicker1").val();
lastDate = moment(datetimePicker, "YYYY-MM-DD").day(7).format("YYYY-MM-DD");
$(datePick).val(lastDate);
});
谢谢!
在您的示例中,您不是 select 一周的最后一天,而是使用 moment(...).day(7)
的下一周的星期日。之后你设置值,这将再次触发on change函数,将值设置为一周后的星期日。等等……(不断循环)
因此您需要将 moment(...).day(7)
更改为 moment(...).day(6)
,这将 select 是本周的星期六。在第二次尝试时,它不会再次更改值并停止循环。
如果您想 select 下周日而不是周六作为本周末的结束,我建议您这样做
$(datePick).on('change.datetimepicker', () => {
var datetimePicker = $("#datetimepicker1").val();
if (moment(datetimePicker.day() !== 0) {
lastDate = moment(datetimePicker, "YYYY-MM-DD").day(7).format("YYYY-MM-DD");
$(datePick).val(lastDate);
}
});