我想在选择中添加5个日期,但不包括星期日。如果在星期日登陆的日期显示第二天的日期。
这是我到目前为止所尝试的:
var startDate = "6-JUN-2017";
startDate = new Date(startDate.replace(/-/g, "/"));
var Dates = "", noOfDaysToAdd = 5, count = 0;
while (count < noOfDaysToAdd) {
Dates = new Date(startDate.setDate(startDate.getDate() + 1));
if (Dates.getDay() != 0 && Dates.getDay() != 7) {
// count++;
var Day = $('<option value="' + Dates.getDay() + '">' + Dates.getDay() + '</option>');
$('select').append(Day);
}
}
但这会导致我的浏览器崩溃。任何帮助将不胜感激。
答案 0 :(得分:0)
您的代码几乎可以使用。但是,你需要增加计数,如果你不这样做,你将有一个无限循环。正如你所说,如果这一天是星期天,你想增加一天:
while (count < noOfDaysToAdd) {
startDate.setDate(startDate.getDate() + 1);
if (startDate.getDay() === 0) {
//if sunday take next day
startDate.setDate(startDate.getDate()+1);
}
//always add:
var Day = $('<option value="' + startDate.getDay() + '">' + startDate.getDay() + '</option>');
$('select').append(Day);
count++;//no crashing
}
此外,无需克隆startDate ...