jQuery datepicker 不会重置禁用的天数

jQuery datepicker wont reset disabled days

提问人:BoundForGlory 提问时间:8/28/2023 最后编辑:Paul T.BoundForGlory 更新时间:8/28/2023 访问量:40

问:

jQuery UI 日期选择器 1.13.2

我需要根据从下拉列表中选择的选择来重置禁用天数。

我初始化日期选择器,然后在触发“selectChange”时,我检索一组新的日期,我需要这些日期成为日期选择器中新的禁用日期。这是我所拥有的:

selectChange: function () {
    $('.date').datepicker({
        dateFormat: 'yy-mm-dd',
        minDate: minDate,
        firstDay: firstDay,
        maxDate: max_date,
        defaultDate: default_date,
        showWeek: show_week,
        beforeShowDay: function (date) {
           //I have my dates but nothing happens. 
           //This is a sample and it works. all I do is replace the array with the retrieved dates
           var array = ["2023-09-01"];
           var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
           return [array.indexOf(string) == -1];
        }
    });

    $('.date').datepicker("refresh");
 }

我正确地获取了所有数据。我的问题不是如何初始化日期选择器。我已经在这样做了。我需要知道如何重新初始化日期选择器,或者如何重置在“beforeShowDay”中禁用的日期并根据我检索的日期禁用新日期?谢谢

jQuery DatePicker

评论


答:

1赞 sym 8/28/2023 #1

您可以在销毁日期选择器后重新初始化它,并通过设置“数组”来禁用日期。

例:

selectChange: function (array) {
    $('.date').datepicker("destroy");

    $('.date').datepicker({
        dateFormat: 'yy-mm-dd',
        minDate: minDate,
        firstDay: firstDay,
        maxDate: max_date,
        defaultDate: default_date,
        showWeek: show_week,
        beforeShowDay: function (date) {
           var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
           return [array.indexOf(string) == -1];
        }
    });
}

评论

0赞 BoundForGlory 8/28/2023
这正是我想要的。谢谢