Недавно нужно было доработать календарь JQuery UI Datepicker. В настройках Datepicker можно задать показ кнопки "Сегодня" в левой нижней части календаря. Однако, при нажатии на кнопку происходит обычный возврат к сегодняшней дате, но не ее выбор. Если пользователь перемещается между месяцами, то кнопка быстро возвращает его к текущей дате.
Как и пользователи я понимаю кнопку "Сегодня", как выбор даты текущего дня с одновременным закрытием календаря.
В ходе очередных поисков по Интернету я пришел к следующему решению. После включения файла JQuery UI:
<script language="javascript" type="text/javascript" src="js/jquery.ui.datepicker-ru.js"></script>
необходимо добавить следующий код, чтобы переопределить функцию _gotoToday
:
<script type="text/javascript"> $(function () { var _gotoToday = $.datepicker._gotoToday; $.datepicker._gotoToday = function( id ) { var target = $( id ), inst = this._getInst( target[0] ); if ( this._get( inst, 'gotoCurrent' ) && inst.currentDay ) { inst.selectedDay = inst.currentDay; inst.drawMonth = inst.selectedMonth = inst.currentMonth; inst.drawYear = inst.selectedYear = inst.currentYear; } else { var date = new Date(); inst.selectedDay = date.getDate(); inst.drawMonth = inst.selectedMonth = date.getMonth(); inst.drawYear = inst.selectedYear = date.getFullYear(); } this._selectDate( id, this._formatDate( inst, inst.selectedDay, inst.drawMonth, inst.drawYear ) ); } }); </script>
Решения, которые я видел в Интернете работают, но в самом лучшем варианте после закрытия календаря курсор остается в поле для ввода, что меня не устраивало. В моем варианте я это исправил.
Tags: JQuery, JQuery UI, JQuery UI Datepicker, доработка плагинов JQuery UI, исправление плагинов JQuery UI, плагины JQuery UI
Запись опубликована
Понедельник, Июнь 18, 2012 в
17:58 и находится в
JavaScript .
Вы можете следить за ответами к этой записи через
RSS 2.0 ленту.
Вы можете оставить комментарий, или обратиться к записи со своего сайта.
спасибо, не работает в том случае, если дата уже выбрана
при клике на сегодня дата не выбирается.
В проектах, с которыми работаю, отказались в принципе от кнопки "Сегодня" - вычеркнули из дизайна. Жаль, что ранее не отметил этого бага. Вполне, что у меня он не наблюдался, тестирование было.