Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   datepicker 29 февраля (https://javascript.ru/forum/jquery/43199-datepicker-29-fevralya.html)

рони 04.12.2013 13:48

Sveta,
попробуйте сформулировать свою задачу иначе -- как связаны текущая дата, високосный год, возможность установки даты но невозможность установки диапазона - бермудский треугольник.

Sveta 04.12.2013 13:55

так, все по порядку)
Задача такая - получить дату - год, число, день, часы, минуты.
Дату выбирает пользователь.
Диапазон лет - очень большой, поэтому было решено для удобства пользователя год выбирать с помощью ползунка, в отдельном поле.
А месяц и число с помощью календаря.
По умолчанию выбрана дата - первое число текущего месяца.
Вот и вся задача)))

В итоге у меня есть поле в котором пользователь может выбрать год, оно с календарем не связано, год может быть и високосный и не високосный - любой. По умолчанию там текущий год.

И у меня есть календарь, в котором по умолчанию стоит первое число текущего месяца, и пользователь выбирает любой месяц и любое число.
И там, в календаре, сейчас, 29 февраля нет. А мне нужно: чтобы в зависимости от выбранного года в отдельном поле - календарь менялся - с 29 февраля и без 29 февраля. И кстати менялся сам календарь, ведь допустим в этом году 1 января было во вторник, а в следующем будет в среду.....то есть нужно задавать - календарь какого года должен быть.

рони 04.12.2013 14:16

Sveta,
вариант невозможности выбрать несуществующую дату
http://javascript.ru/forum/dom-windo...tml#post263897

P.S. логику того что вы описали выше увы осилить несмог

Sveta 04.12.2013 14:31

) ну хорошо, забудем все, подскажите, пожалуйста, допустим я хочу разместить на страничке календарь jquery за 2000 год. Чтобы пользователь мог выбрать любой день в 2000 году.
Как это сделать?

рони 04.12.2013 14:33

Sveta,
я вам показал как это сделать в 9 посте

Sveta 04.12.2013 15:02

я просто не могу понять, почему мой календарь показывает 2013 год!
var maxDate=new Date();
		var maxMonth=maxDate.getMonth()+1;
			if(maxMonth<10){maxMonth='0'+maxMonth;}

			var default_options = {
				timeOnlyTitle: 'Выберите время',
				timeText: 'Время',
				hourText: 'Часы',
				minuteText: 'Минуты',
				secondText: 'Секунды',
				currentText: 'Сейчас',
				closeText: 'Принять',
			
				changeMonth: true,
				changeYear: false,
				numberOfMonths: 1,
				firstDay: 1,
				showButtonPanel: true,
				dateFormat: "mm-dd"
			};
	
	//установка календаря
		if(document.getElementById('from')!=null) {
			var date_from=maxMonth+"-01 00:00";
			
			if ($.cookie('cookie_date_from') == null) $.cookie('cookie_date_from', date_from);
			var extended_options_from = $.extend({
				defaultDate: $.cookie('cookie_date_from') ,
			 yearRange:'2012:2012',
				hour: 00,
				minute: 00,
				onSelect:function(dateText, inst) { 
					$.cookie("cookie_date_from", dateText);
				}
			}, default_options);
			$('#from').val( $.cookie('cookie_date_from'));
			$("#from").datetimepicker(extended_options_from);
		}

я добавляю yearRange: '2012:2012', все как вы написали(((((
так почему он показывает мне 2013?

рони 04.12.2013 15:03

Sveta,
ответ в 10 посте

Sveta 04.12.2013 15:12

ахахахахахахахахахаха)))) Я сейчас заплачу!!!!!! Он показал 2019 год!!!! ОТКУДА????
yearRange:'2012:2012',
minDate : '01.01.2012',
maxDate : '31.12.2012',


Ладно, я так понимаю что-то непонятное портит мой код в календаре...2019 я уж точно не знаю откуда может взяться......В общем сейчас буду экспериментировать в отдельном чистом файле, без постороннего скрипта....

Sveta 04.12.2013 15:36

Мистика.
Подскажите, пожалуйста, если кто-нибудь знает!
Необходим простой календарь jquery ui datepicker за 2012 год.
Создала отдельную страницу:
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  	<link type="text/css" rel="stylesheet"             href="./css/jquery-ui-1.10.2.custom.css" /> <!--стиль элементов jQuery-->
	<link type="text/css" href="./css/ui.dropdownchecklist.themeroller.css" rel="stylesheet" /><!--стиль элементов jQuery-->

	<script type="text/javascript" src="./js/jquery.js"></script>
	<script type="text/javascript" src="./js/jquery.cookie.js"></script>
	<script type="text/javascript" src="./js/jquery-ui-1.10.2.custom.js"></script>
	<script type="text/javascript" src="./js/jquery-ui-timepicker-addon.js"></script>
  <style>
    body{font:normal 9pt Arial,sans-serif;}
  </style>
</head>
<body>
  <p>Дата: <input type="text" id="datepicker"></p>

  <script>
    $("#datepicker").datepicker({yearRange:'2012:2012',minDate : '01.01.2012',maxDate : '31.12.2012' });
	
  </script>
</body>
</html>


Календарь показывает 2019 год...запускала и в FF и в Google Chrome, меняла библиотеку jquery...а год все равно 2019..кто-нибудь понимает почему так? и что сделать чтобы получить календарь за 2012 год?

рони 04.12.2013 15:49

обьект нужен для дат -- строка воспринимается как сдвиг относительно сегодняшней даты
$("#datepicker").datepicker({minDate : new Date(2012,0,1),maxDate  : new Date(2012,11,31),
firstDay: 1


Часовой пояс GMT +3, время: 10:37.