JS-календарь для выбора дат дней рождений

vovanium

Новичок
JS-календарь для выбора дат дней рождений

Никто не встречал JS-календарики для удобного ввода дат дней рождений и других далеких дат (в основном от 18 до 60 лет назад)?

Примерно так как это сделано в выборе дат в Висте. Сначала выбирается десятилетие (12 ячеек), потом год (12 ячеек), месяц и день, получается в 4 клика можно быстро выбрать любую дату.
Большинство же встречавшихся календариков расчитано на ввод текущей даты или недалеко от текущей. А вводить с их помощью дни рождения, настолько геморно, что проще ввести их с клавы.
 

Adelf

Administrator
Команда форума
ну вводи год с клавы :) Основная проблема то с ним
 

vovanium

Новичок
Adelf
Вводить как бы не я буду :)
Ввод года с клавы не сильно эргономично имхо, учитывая что в форме все опции можно выбирать без участия клавы
 

baev

‹°°¬•
Команда форума
http://www.dynarch.com/projects/calendar/old/
— старая версия, во-первых, под GPL.
Во-вторых, год выбирается из выпадающего списка (просто надо подольше на кнопку жать, чтобы этот список появился).
 

Mols

Новичок
А кто мешает сделать 4 комбика и не парится? Будем вам 4 клика. Как хотите. Работы там не много.
 

vovanium

Новичок
Да я как раз раньше использовал dynarch, но сами попробуйте ввести там даты которые были 30-50 лет назад.

Насчет селектов, то во-первых для выбора из селекта нужно клик на селекте, скрол, клик на опции, во-вторых, выбор из селекта, когда список состоит 60-80 элементов не очень удобен. Значительно проще указать десятилетие и сам год (выбирая всего из 12 элементов).

Нашел похожий календарик, но он по-дурацки сделан, содержимое календарика генерится php-скриптом и загружается ajax-ом. Т.е. на каждую смену года или месяца делается запрос к серверу.
http://dev.base86.com/app/pages/scripts/vista-like_ajax_calendar_version_2/

В общем ввиду неудачных поисков, сделал свой календарик без вистовых визуальных эффектов, но зато предельно компактный и легкий, без всяких фреймворков. Еще и даты умеет показывать на тысячелетия вперед и назад, ну то уже больше по приколу.
 

vovanium

Новичок
baev
Я и не говорил, что что-то сложно, мне не сложно и самостоятельно написать календарик, речь исключительно об удобстве и простоте использования, а не о том, чтобы сделать лишь бы было. Подозреваю, что большинство отписавшихся либо не видели календарь Висты/Семерки, либо не обращали внимания как там года выбираются.

Позже сделаю страничку для наглядного сравнения, какой вариант удобнее.
 

Mols

Новичок
vovanium
100% я не видел)))
И по поводу количества кликов - тоже как-то не подумал))) Сорри

-~{}~ 06.12.09 18:37:

Да.. а посмотреть, что получилось хочется)
 

AmdY

Пью пиво
Команда форума
Mols
посмотрел, действительно удобно, но если бы не твой пост, я бы не догадался.
 

vovanium

Новичок
вот выложил для сравнения dynarch и свой календарик попробуйте выбрать указанные даты, после выведется время затраченное на выбор даты
http://sypex.net/zDater/
 

zerkms

TDD infected
Команда форума
vovanium
в левом календаре выбрать проще и почти так же быстро
зато в нём исправление ошибок ввода на порядок проще, чем в правом

ps: год из списка выбирается нажатием и удерживанием
 

vovanium

Новичок
zerkms
Могу поспорить, что ты не выбирал указанные на странице даты :)
Я давно знаю что год удерживанием выбирается (более того, я даже знаю, что в нем можно с помощью ctrl + курсор выбирать года), ты выбери те конкретные даты, а не просто тыкни на первый попавшийся год, тогда и сравнишь ;)
А что касается простоты левого календаря, то к примеру, дал ввести даты своему брату, он поковырявшись, спросил как тут года вводить, потом еще матерился когда нужного года нет в списке (они выводятся через один)

И что-то не совсем понял насчет ошибок ввода?
 

zerkms

TDD infected
Команда форума
И что-то не совсем понял насчет ошибок ввода?
ну вот ошибся ты и выбрал не ту дату (день). в случае с левым календарём это будет 2 клика.
а с твоим? 4?

А что касается простоты левого календаря, то к примеру, дал ввести даты своему брату, он поковырявшись, спросил как тут года вводить, потом еще матерился когда нужного года нет в списке (они выводятся через один)
ну вот года можно пофиксить, сделав список с полосами прокрутки.
 

baev

‹°°¬•
Команда форума
vovanium, есть такой файлик — calendar-setup.js

А в нём:
Код:
 *    prop. name   | description
 *  -------------------------------------------------------------------------------------------------
…

 *   step          | configures the step of the years in drop-down boxes; default: 2
…
Почему бы Вам для чистоты эксперимента этот параметр не поменять?
 

vovanium

Новичок
baev
Почему бы Вам для чистоты эксперимента этот параметр не поменять?
Можно сделать и так, но тогда список увеличится, так что даже не уверен, что быстрее будет, разве что для тех кто не знает и кого отсутствие нужного года вводит в ступор.
К примеру для выбора 1955 года нужно сделать 5 нажатий с выбором года при шаге в 1, и 3 нажатия с выбором года + 1 клик для увеличения/уменьшения года при шаге в 2.

zerkms
Почему 4? Точно так же 2 клика. Он может открываться с любой вкладки, десятилетия/года/месяцы/дни, по-умолчанию когда дата не указана открывается с десятилетий. Просто для чистоты замеров времени там сейчас чистится дата. Кроме того сделал так что и конечный результат может не обязательно быть днем, можно например выбирать только год или месяц и год (например, для выбора срока действия пластиковых карточек).

Насчет списка с полосой прокрутки, ну все равно это будет медленее, по тем же причинам, по которым бинарный поиск быстрее простого перебора.

-~{}~ 07.12.09 06:43:

Добавил второй вариант dynarch, с шагом 1. У меня он получается медленнее. Вот мои результаты:
Код:
 9.615 10.312 2.953 
11.903 13.342 2.979
 

vovanium

Новичок
Пардон, забыл обновить файлик. Залил и добавил еще jQuery UI Datepiker, там как раз селектом выбирается год
 

Mols

Новичок
По времени выиграл наш вариант. Более менее близко - jQuery.
 
Сверху