Если я попытаюсь выделить даты на jquery datepicker, предоставив ему статический массив. Он работает абсолютно нормально. Если я сгенерирую массив внутри цикла, а затем предоставил его. Я не нашел способ подсчета дат. Код ниже.Выделите несколько дат на jquery datepicker
// var tempDates=["2015/01/07","2015/01/14","2015/01/21"];
var tempDates = []; tempDates=datesToHighlight;
line.datepicker({disabled:false, defaultDate: dateObj, dateFormat: 'yy/mm/dd',
beforeShowDay: function (highlightMe) {
var dateString = jQuery.datepicker.formatDate('yy/mm/dd', highlightMe);
var highlightIndex = $.inArray(dateString.toString(), tempDates);
if(highlightIndex>-1) {
return [true, 'highlight', tips[highlightIndex]];
}
var aIndex = $.inArray(dateString, selected);
return [aIndex == -1]
}
});
Это формат, в котором даты генерируются циклом.
2015/01/07
2015/01/14
2015/01/21
2015/01/28
2015/02/04
2015/02/11
2015/02/18
Петля, которую я использовал для генерации массива.
for (var k = 0; k < selectedArrayLength; k++) {
if (new Date(selected[k]).getMonth() == monthIndex[ind%12]) {
var dateFormat = new Date(selected.splice(k, 1));
var curr_date = addZ(dateFormat.getDate());
var curr_month = dateFormat.getMonth();
curr_month++;
var curr_year = dateFormat.getFullYear();
var newFormat = (curr_year + "/" + addZ(curr_month) + "/" + curr_date);
thisMonthDates.push(newFormat);
//thisMonthDates.push(selected.splice(k, 1));
k--; // since we removed an element we need to decrement k
}
}
for(var eachDt=0; eachDt<thisMonthDates.length; eachDt++) {
console.log(thisMonthDates[eachDt]);
var datesToHighlight = new Array();
datesToHighlight.push(new Date(thisMonthDates[eachDt]));
}
Ввод кода.
Year Difference: 2 end year: 2015 start year: 2015
78 Difference of days.
12 : Selected Array Length
calendar0
4
2015/01/07
2015/01/14
2015/01/21
2015/01/28
4
["2015/01/07", "2015/01/14", "2015/01/21", "2015/01/28"]
calendar1
4
2015/02/04
2015/02/11
2015/02/18
2015/02/25
4
["2015/02/04", "2015/02/11", "2015/02/18", "2015/02/25"]
calendar2
4
2015/03/04
2015/03/11
2015/03/18
2015/03/25
4
["2015/03/04", "2015/03/11", "2015/03/18", "2015/03/25"]
SELECTED ARRAY IS EMPTY.
0,1,2 - 2015,2015,2015
- это 'dateToHighlight' другой массив или это функция? – mikelt21
действительно непонятно, какова конкретная проблема. Демонстрация может помочь вместе с лучшим объяснением проблемы – charlietfl
@ mikelt21 его массив. – Superman