Пытаюсь на JS сделать список с выпадающими датами (см. вложение).
Берется текущая дата, а точнее месяц и год, и от этой текущей даты должны отображаться будущие 12 месяцев и 3 прошедших месяца.
Вместо undefined 2018
должно быть Октябрь, Ноябрь и Декабрь 2017
.
Скрипт ниже:
<script type="text/javascript">
Date.prototype.getMonthName = function(i) {
var month = ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'];
return month[i];
}
var currentDate = new Date();
var cuurYear = currentDate.getFullYear();
var cuurMonth = currentDate.getMonth();
var objSelM = document.myForm.Month;
var objSelFM = document.myForm.FMonth;
window.onload = function selCuurDate(){
var j = 0;
for(var i = -3; i < 12; i++) {
j = cuurMonth + i;
var y = 0;
if (j > 11) {
j = j - 12;
y = 1;
}
y = currentDate.getFullYear() + y;
if (i == j){
addOption(objSelM, currentDate.getMonthName(j) + " " + y, currentDate.getMonthName(j) + "_" + y, true, true);
addOption(objSelFM, currentDate.getMonthName(j) + " " + y, currentDate.getMonthName(j) + "_" + y, true, true);
} else {
addOption(objSelM, currentDate.getMonthName(j) + " " + y, currentDate.getMonthName(j) + "_" + y, false, false);
addOption(objSelFM, currentDate.getMonthName(j) + " " + y, currentDate.getMonthName(j) + "_" + y, false, false);
}
}
OUT_IN.style.visibility = "hidden"
<!-- objSelM.selectedIndex = j;
<!-- objSelFM.selectedIndex = j;-->
objSelFM.width = 200;
clickChg(objSelFM.value);
}
function addOption (oListbox, text, value, isDefaultSelected, isSelected)
{
var oOption = document.createElement("option");
oOption.appendChild(document.createTextNode(text));
oOption.setAttribute("value", value);
if (isDefaultSelected) oOption.defaultSelected = true;
if (isSelected) oOption.selected = true;
oListbox.appendChild(oOption);
}
</script>
Добавьте такую проверку для учета случаев, когда какие-то из трех предыдущих месяцев попадают в прошлый год:
if (j < 0) {
j = j + 12;
y = -1;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть задача создать кнопку непосредственно в JS, без участия HTML и повесить ее появление и уничтожение в зависимость от условийСобственно,...
Всем приветК сожалению я не знаю как объяснить грамотно и правильно то, что мне нужно, но попытаюсь
Переработал код по ссылкеСуть в том, что после создания календаря событий, я не могу туда через форму добавить событие