仅在星期二和星期三的datepicker中设置默认日期?

我有一个日期选择器,所有过去几天都被禁用,除了星期二和星期三之外的所有日子都被禁用。

我希望默认的一天是一周中启用的第一天。 如果它是星期二,那么它应该显示星期二,如果星期三,然后星期三。 任何其他日子它应该在输入字段的下周二显示。

这是我用于datepicker的代码。

 $(document).ready(function(){ $( ".datepicker" ).datepicker({ minDate:'0', changeMonth:true, changeYear:true, beforeShowDay: function(dt) { return [dt.getDay() === 2 || dt.getDay() === 3, ""]; }}); });  

我正在使用选择器的输入:

 

你可以使用momentjs让一周中的第二天变得更容易,然后只需要一个if-else语句来获得一周中正确的日期:

  function setDate() { var today = moment().isoWeekday(); //or just = new Date().getDay(); if (today <= 2) { return moment().isoWeekday(2); } else if (today === 3) { return moment().isoWeekday(3); } else { return moment().add(1, 'weeks').isoWeekday(2); } } 

然后调用setDate()函数并将该返回值设置为datepicker中的日期。

  $('.datepicker').datepicker("setDate", new Date(setDate())); 

这是一个有效的例子: https : //jsfiddle.net/jutcw0ve/