【问题标题】:Jquery UI Datepicker, beforeShowDay errorJquery UI Datepicker,beforeShowDay错误
【发布时间】:2017-06-29 13:03:40
【问题描述】:

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

 $("#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];
        }

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

我做错了什么。

【问题讨论】:

    标签: c# json jquery-ui-datepicker


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-03-10
      • 2017-12-12
      • 1970-01-01
      • 2013-01-07
      • 2017-02-21
      • 2013-02-27
      • 1970-01-01
      • 1970-01-01
      • 2012-04-27
      相关资源
      最近更新 更多