Javascript 如何使用jQuery Datepicker动态应用-setDate和(minDate和maxDate)日期范围?

Javascript 如何使用jQuery Datepicker动态应用-setDate和(minDate和maxDate)日期范围?,javascript,jquery,datepicker,calendar,jquery-ui-datepicker,Javascript,Jquery,Datepicker,Calendar,Jquery Ui Datepicker,我有一个下拉列表,从中选择年份和另一个包含日期选择器的日历字段 我想做的是,如果我选择2021年,默认日期应该是2021年12月31日,也应该是maxDate 之后,如果我更改2022年,默认日期应该是2022年12月31日,就像之前一样,它也应该是maxDate 我经历了许多StackOverflow问题和问题,但没有解决问题。我错过了什么或做错了什么 function updateCalendarDate() { var calMaxDate = new Date(12 + &qu

我有一个下拉列表,从中选择年份和另一个包含日期选择器的日历字段

我想做的是,如果我选择2021年,默认日期应该是2021年12月31日,也应该是maxDate

之后,如果我更改2022年,默认日期应该是2022年12月31日,就像之前一样,它也应该是maxDate

我经历了许多StackOverflow问题和问题,但没有解决问题。我错过了什么或做错了什么

function updateCalendarDate() {
     var calMaxDate = new Date(12 + "/" + 31 + "/" + $("#year").val());
     $('#calDate').val(beforeShowDay1(calMaxDate));
     $("#calDate").datepicker({
         "startDate": beforeShowDay(new Date()),
         "endDate": beforeShowDay(calMaxDate),
         "minDate": beforeShowDay(new Date()),
         "maxDate": beforeShowDay(calMaxDate)
     });
     $("#calDate").datepicker("destroy");
     $("#calDate").datepicker("setDate", beforeShowDay(calMaxDate));
     $( "#calDate" ).datepicker("refresh");
};
到目前为止,我尝试的是:
一,

  • 首先设置默认日期,然后销毁并再次设置maxDate
  • $(“#calDate”).datepicker(“setDate”,在ShowDay(calMaxDate)之前)

    $('calDate')。日期选择器('destroy')
    
    $('calDate').datepicker('option','maxDate',new Date(calMaxDate))

    如果我使用
    setDate
    ,那么
    setDate
    属性就不起作用了。

    在您的

    设置日期:使用
    setDate

    $("selector").datepicker("setDate", yourCreatedDate);
    
    $("selector").datepicker( "option", "maxDate", yourCreatedDate );
    
    要设置最大日期,请使用
    maxDate

    $("selector").datepicker("setDate", yourCreatedDate);
    
    $("selector").datepicker( "option", "maxDate", yourCreatedDate );
    
    请参阅下面的工作片段以了解更多信息

    jQuery(文档).ready(函数($){
    $(“#calDate”).datepicker({
    });
    $(“#年”)。关于(“变化”,函数(e){
    如果(!this.value)返回;
    设setDate=新日期(该值为11,31);
    console.log(setDate);
    //如果继续执行日期,这将阻止maxdate
    $(“#calDate”).datepicker(“选项”,“maxDate”,null);
    $(“#calDate”).datepicker(“setDate”,setDate);
    $(“#calDate”).datepicker(“选项”、“maxDate”、setDate);
    });
    });
    
    @import url(“//code.jquery.com/ui/1.10.3/themes/start/jquery ui.min.css”)
    
    新日期(12+“/”+31+“/”+$(“#年”).val()为什么不
    新日期($(“#年”).val(),11,31)
    这样您就没有任何本地化问题了?没有本地化问题