如果所选日期在 Js 日历中有特定日期,则将所选日期更改为明天

Changing the selected date to tomorrow if selected date has a specific day in Js calendar

如果客户 select 是休息日,我希望日历在第二天自动 select。

   var selectedday= $('#calendarid').val();
if(selectedday.getDay() == 6) $(#calendarid).datepicker('setDate', 1);

这让我 "selectedday.getDay() is not a function" 因为我猜想返回的是字符串而不是对象。

有人可以帮忙吗?

亲切的问候,

是的,datepicker 正在返回一个字符串,您必须将其转换为正确的日期。

$('#calendarid').datepicker()

$('#calendarid').change(function() {
  selectedDate = new Date($(this).val())
  if (selectedDate.getDay() == 0) { // Changed this to sunday
    selectedDate.setDate(selectedDate.getDate() + 1)
    $(this).datepicker('setDate', selectedDate);
    $(this).blur();
  }
})
<link href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<input type="text" id="calendarid" />

但是,如果您不发出任何警告,这可能会使用户感到困惑。您可以改为禁用星期日的选择:

$('#calendarid').datepicker({
  beforeShowDay: function(date) {
    return [date.getDay() != 0, ""];
  }
})
<link href="https://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<input type="text" id="calendarid" />

参考文献: