Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.07.2012, 15:50
Новичок на форуме
Отправить личное сообщение для Kri0-Gen Посмотреть профиль Найти все сообщения от Kri0-Gen
 
Регистрация: 09.07.2012
Сообщений: 4

ищу DatePicker с временем, списком выбора месяца и возможностью смены месяца после вы
Привет.
Ищу хороший DatePicker с указанными функциям.
Немного расшифрую, что от него нужно:
1) Возможность выбора времени (чч:мм)
2) возможность выбора месяца и года в виде списка
3) после выбора числа чтобы не происходило окончательного выбора даты, а можно было ещё сменить месяц

Две первые функции есть в ui-datepicker.

Однако после щелчка по числу окно календарика закрывается и дата считается выбранной.
Мне же нужна возможность после выбора числа ещё выбрать месяц.

1 и 3 функции нашёл в неком Protoplasm datepicker:


А вот чтобы всё и сразу - никак не могу найти.
Подскажите, пж, в сторону какого календарика смотреть.
Ответить с цитированием
  #2 (permalink)  
Старый 09.07.2012, 20:54
Аватар для SkyLight
Злюка-бобер
Отправить личное сообщение для SkyLight Посмотреть профиль Найти все сообщения от SkyLight
 
Регистрация: 21.03.2010
Сообщений: 438

Попробуйте поиграть с событиями того же дейтпикера, может и хватит.
__________________
In WEB We Trust
У всех есть своя темная сторона...
Ответить с цитированием
  #3 (permalink)  
Старый 10.07.2012, 10:25
Новичок на форуме
Отправить личное сообщение для Kri0-Gen Посмотреть профиль Найти все сообщения от Kri0-Gen
 
Регистрация: 09.07.2012
Сообщений: 4

Таки запилил решение на событиях ui-datepicker.
Если кому понадобится, вот код:
$(<селектор>).datepicker({ showButtonPanel: true, closeText: 'Выбрать',
					onSelect: function (dateText, dp) {
						$(this).datepicker('setDate', dateText);
						dp.show(); 
					},
					onChangeMonthYear: function (year, month, dp) {
						dp.currentMonth = month;
						dp.currentYear = year;
						var maxDay = 31;
						if (dp.currentDay > 28) {
							if (month == 2 && (year % 4 == 0 && year % 100 != 0 || year % 400 == 0))
								maxDay = 29;
							else {
								var daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
								maxDay = daysInMonth[month - 1];
							}
							if (dp.currentDay > maxDay)
								dp.currentDay = maxDay.toString();
						}
						var dateStr = "";
						dateStr += dp.currentDay < 10 ? "0" + dp.currentDay : dp.currentDay;
						dateStr += ".";
						dateStr += month < 10 ? "0" + month : month;
						dateStr += "." + year;
						$(this).datepicker('setDate', dateStr);
						$(this).val(dateStr);
					}
				});

Изображения:
Тип файла: jpg 3.jpg (10.6 Кб, 9 просмотров)

Последний раз редактировалось Kri0-Gen, 10.07.2012 в 10:28.
Ответить с цитированием
  #4 (permalink)  
Старый 10.07.2012, 15:07
Новичок на форуме
Отправить личное сообщение для Kri0-Gen Посмотреть профиль Найти все сообщения от Kri0-Gen
 
Регистрация: 09.07.2012
Сообщений: 4

Таки обнаружилась проблема.
На dp.show(); страница прокручивается на самый верх.
Если поле, к которому прикручен календарь, находится где-нибудь внизу, то после выбора дня страница скроллится на самый верх.

upd: проблема решилась, был косяк jquery-ui.

Последний раз редактировалось Kri0-Gen, 10.07.2012 в 16:03.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск