我正在使用带有一组参数的Jquery datepicker
除setDate之外,所有参数均在初始化时间工作。

将SetDate作为独立命令给出后,它也可以在之后运行。

我做错什么了吗?为什么在这种情况下setdate不能作为一部分或init使用?



var maxDateSelectable = new Date(2017, 10, 1);
var minDateSelectable = new Date(2017, 1, 1);
var fromDate = new Date(2017, 9, 12);
$("#WorkingDate").datepicker({
  maxDate: maxDateSelectable,
  minDate: minDateSelectable,
  //setDate: fromDate, //does not work
  beforeShowDay: noWeekends
}); // ~fromDate
//Works here why?
$("#WorkingDate").datepicker("setDate", fromDate);

function noWeekends(date) {
  var noWeekend = window.$.datepicker.noWeekends(date);
  return noWeekend;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<input type='text' id='WorkingDate'>





对应的jsfiddle:https://jsfiddle.net/Jersey_Guy/gkymd2hw/

最佳答案

初始设置对象没有setDate属性,它仅用作以后设置日期的方法,这就是为什么它不起作用的原因。

如果要设置初始日期,则可以通过设置输入值或通过在已初始化的日期选择器上调用setDate方法或通过使用defaultDate设置来设置

$("#WorkingDate").datepicker({
  maxDate       : maxDateSelectable,
  minDate       : minDateSelectable,
  beforeShowDay : noWeekends
}).datepicker("setDate", fromDate);

09-20 10:05