0
サーバーから無効にする日数を追加しようとしています。これまでのコードです。Jquery UI Datepicker、beforeShowDayエラー
$("#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);
}
});
無効にする日数が追加されるまで、ピッカーはうまく動作します。私はビューバックからそれを解析します。ここにコードがあります。
を私が間違っているのは何:
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];
}
ピッカーは次のようになります。