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, время: 00:37. |