datepicker 29 февраля
Здравствуйте, подскажите пожалуйста, как установить календарю желаемый год?
Проблема вот в чем, есть календарь, в котором мы выбираем только число и месяц. Год мы не выбираем!!!! Отдельно, в другом месте, определяется год, он не связан с календарем. И вот тут проблема, мне нужно чтобы в случае если год високосный - в календаре было 29 февраля, если нет - то нет. Год я могу передать через переменную, но я на нашла в стандартных свойствах свойства установки года....подскажите пожалуйста. |
Sveta,
диапазон лет года одинаковые сделайте $("selector").datepicker({ yearRange:'2013:2013' }); можно и выбор запретить всё равно в выборе всего один год будет changeYear: false |
jquery ui datapicker....я думала у джиквери только один календарь..
код стандартный, обычный календарь без выбора года $.datepicker.regional['ru'] = { closeText: 'Закрыть', prevText: '<Пред', nextText: 'След>', currentText: 'Сегодня', monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь', 'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн', 'Июл','Авг','Сен','Окт','Ноя','Дек'], dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'], dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'], dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'], weekHeader: 'Не', dateFormat: 'yy-mm-dd', firstDay: 1, isRTL: false, showMonthAfterYear: false }; $.datepicker.setDefaults($.datepicker.regional['ru']); var default_options = { //changeYear: true, timeOnlyTitle: 'Выберите время', timeText: 'Время', hourText: 'Часы', minuteText: 'Минуты', secondText: 'Секунды', currentText: 'Сейчас', closeText: 'Принять', changeMonth: true, changeYear: false, numberOfMonths: 1, firstDay: 1, showButtonPanel: true, dateFormat: "mm-dd", }; var extended_options_from = $.extend({ defaultDate: date_from, hour: 00, minute: 00 }, default_options); на нем еще таймпикер для выбора часов и минут..... суть в том как мне заставить его меняться - есть 29 фефраля и нет 29 февраля...может у него свойство особое какое есть... |
причем динамически меняться....
|
рони,
Цитата:
|
Sveta,
а что не так то? установив календарю необходимый год вы автоматом получаите нужные дни в месяцах. |
возможно так он и должен работать, но у меня не работает(( что-то не так:
я сделала как вы сказали, yearRange:'2012:2012' даже changeYear: сделала true , чтобы год видеть, календарь показывает 2012 год (он был вискокосный) но 29 февраля нет!!! когда я сделала yearRange:'2012:2015' то при выборе 2012 года 29 февраля появляется...но по умолчанию календарь на 2013 году....а так как мне в итоге выбор года нужно скрыть и динамически менять....... |
Цитата:
Цитата:
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <title>jQuery UI Datepicker - Default functionality</title> <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/sunny/jquery-ui.css" /> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> <link rel="stylesheet" href="/resources/demos/style.css" /> <style type="text/css"> <!-- body{ font-size: 12px; } --> </style> <script> $(function() { var x = new Date(2012,1,29); $.datepicker.regional['ru'] = { closeText: 'Закрыть', prevText: '<Пред', nextText: 'След>', currentText: 'Сегодня', monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь', 'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'], monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн', 'Июл','Авг','Сен','Окт','Ноя','Дек'], dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'], dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'], dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'], dateFormat: 'dd.mm.yy', firstDay: 1, isRTL: false, showOtherMonths:true, selectOtherMonths:true, changeMonth:true, minDate : '01.01.2012', maxDate : '31.12.2012', defaultDate: x, yearRange : "2012:2012", changeYear: false, showAnim:"scale" }; $.datepicker.setDefaults($.datepicker.regional['ru']) $( '#datepicker' ).datepicker(); }); </script> </head> <body> <p>Date: <input type="text" id="datepicker" /></p> </body> </html> |
Sveta,
minDate : '01.01.2012', maxDate : '31.12.2012', без установки диапазона лет так надёжнее |
хмм....я не могу задать минимальную и максимальную дату..дело в том что при загрузке у меня установлена дата по умолчанию - первое число текущего месяца, год я не указываю, так как у меня формат даты "mm-dd"...но высчитывается дата по умолчанию через текущую дату:
var maxDate=new Date(); var maxMonth=maxDate.getMonth()+1; if(maxMonth<10){maxMonth='0'+maxMonth;} а потом я делаю так: var date_from=maxMonth+"-01 00:00"; ну и в календарь все это defaultDate:date_from , |
Sveta,
попробуйте сформулировать свою задачу иначе -- как связаны текущая дата, високосный год, возможность установки даты но невозможность установки диапазона - бермудский треугольник. |
так, все по порядку)
Задача такая - получить дату - год, число, день, часы, минуты. Дату выбирает пользователь. Диапазон лет - очень большой, поэтому было решено для удобства пользователя год выбирать с помощью ползунка, в отдельном поле. А месяц и число с помощью календаря. По умолчанию выбрана дата - первое число текущего месяца. Вот и вся задача))) В итоге у меня есть поле в котором пользователь может выбрать год, оно с календарем не связано, год может быть и високосный и не високосный - любой. По умолчанию там текущий год. И у меня есть календарь, в котором по умолчанию стоит первое число текущего месяца, и пользователь выбирает любой месяц и любое число. И там, в календаре, сейчас, 29 февраля нет. А мне нужно: чтобы в зависимости от выбранного года в отдельном поле - календарь менялся - с 29 февраля и без 29 февраля. И кстати менялся сам календарь, ведь допустим в этом году 1 января было во вторник, а в следующем будет в среду.....то есть нужно задавать - календарь какого года должен быть. |
Sveta,
вариант невозможности выбрать несуществующую дату http://javascript.ru/forum/dom-windo...tml#post263897 P.S. логику того что вы описали выше увы осилить несмог |
) ну хорошо, забудем все, подскажите, пожалуйста, допустим я хочу разместить на страничке календарь jquery за 2000 год. Чтобы пользователь мог выбрать любой день в 2000 году.
Как это сделать? |
Sveta,
я вам показал как это сделать в 9 посте |
я просто не могу понять, почему мой календарь показывает 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? |
Sveta,
ответ в 10 посте |
ахахахахахахахахахаха)))) Я сейчас заплачу!!!!!! Он показал 2019 год!!!! ОТКУДА????
yearRange:'2012:2012', minDate : '01.01.2012', maxDate : '31.12.2012', Ладно, я так понимаю что-то непонятное портит мой код в календаре...2019 я уж точно не знаю откуда может взяться......В общем сейчас буду экспериментировать в отдельном чистом файле, без постороннего скрипта.... |
Мистика.
Подскажите, пожалуйста, если кто-нибудь знает! Необходим простой календарь 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 год? |
обьект нужен для дат -- строка воспринимается как сдвиг относительно сегодняшней даты
$("#datepicker").datepicker({minDate : new Date(2012,0,1),maxDate : new Date(2012,11,31), firstDay: 1 |
это то что нужно, спасибо!))
|
Часовой пояс GMT +3, время: 03:55. |