Jquery UI 日期选择器,beforeShowDay 错误

Jquery UI Datepicker, beforeShowDay error

我正在尝试添加从服务器禁用的天数。到目前为止,这是我的代码:

 $("#startDatePicker").datepicker({
        minDate: '+31',
        maxDate: '+12M',
        changeMonth: true,
        showAnim: 'blind',
        dateFormat: 'yy mm dd',           
        onSelect: function(dateText, inst) {

            // Capture the Date from User Selection
            var oldDate = new Date(dateText);
            var newDate = new Date(dateText);

            // Compute the Future Limiting Date
            newDate.setDate(newDate.getDate() + 365);


            // Set the Widget Properties
            $("#endDatePicker").datepicker('option', 'minDate', oldDate);
            $("#endDatePickerto").datepicker('option', 'maxDate', newDate);

        }
    });

    $("#endDatePicker").datepicker({
        minDate: '+5',
        maxDate: '+12M',
        changeMonth: true,
        showAnim: 'blind',
        dateFormat: 'yy mm dd',
        onSelect: function(dateText, inst) {

            // Capture the Date from User Selection
            var endDate = new Date(dateText);
            var startDate = new Date(dateText);

            // Compute the Future Limiting Date
            startDate.setDate(startDate.getDate() - 5);

            // Set the Widget Properties
            $("#startDatePicker").datepicker('option', 'minDate', startDate);
            $("#startDatePicker").datepicker('option', 'maxDate', endDate);

        }

    });

选择器工作正常,直到我添加禁用天数。我从 viewbag 解析它。这是代码。

var NewArray = [];
var array = @Html.Raw(Json.Encode((@ViewBag.GetDates)));
for (var i = 0; i < array.length; i++) {
    NewArray[i] = array[i];
    console.log(NewArray);
   
}
var parsedDates = [];
for (var i = 0; i < array.length; i++) {
    var d = array[i];
    var unix = +d.replace(/\D/g, '');
    var date = new Date(unix);
    var desDate = date.getFullYear() + '/' + (date.getMonth() + 1) + '/' + date.getDate();
    parsedDates.push(desDate);
}
console.log(parsedDates);

然后我将这样的日期添加到选择器中:

beforeShowDay: function (date) {
            var string = jQuery.datepicker.formatDate('yy mm dd', date);
            return [parsedDates.indexOf(string) === -1];
        }

添加完所有内容后,选择器如下所示:

我做错了什么。

解决了。必须重建进入 beforShowDay 的日期字符串。之后一切正常。