26.11.2013, 11:34
|
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 153
|
|
datepicker 29 февраля
Здравствуйте, подскажите пожалуйста, как установить календарю желаемый год?
Проблема вот в чем, есть календарь, в котором мы выбираем только число и месяц. Год мы не выбираем!!!!
Отдельно, в другом месте, определяется год, он не связан с календарем. И вот тут проблема, мне нужно чтобы в случае если год високосный - в календаре было 29 февраля, если нет - то нет. Год я могу передать через переменную, но я на нашла в стандартных свойствах свойства установки года....подскажите пожалуйста.
|
|
26.11.2013, 11:47
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,125
|
|
Sveta,
диапазон лет года одинаковые сделайте
$("selector").datepicker({ yearRange:'2013:2013' });
можно и выбор запретить всё равно в выборе всего один год будет
changeYear: false
Последний раз редактировалось рони, 26.11.2013 в 11:54.
|
|
26.11.2013, 11:54
|
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 153
|
|
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 февраля...может у него свойство особое какое есть...
|
|
26.11.2013, 11:55
|
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 153
|
|
причем динамически меняться....
|
|
04.12.2013, 11:18
|
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 153
|
|
рони,
Цитата:
|
диапазон лет года одинаковые сделайте
$("selector").datepicker({ yearRange:'2013:2013' });
|
Сделала...и что это дает?
|
|
04.12.2013, 11:32
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,125
|
|
Sveta,
а что не так то? установив календарю необходимый год вы автоматом получаите нужные дни в месяцах.
|
|
04.12.2013, 11:53
|
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 153
|
|
возможно так он и должен работать, но у меня не работает(( что-то не так:
я сделала как вы сказали, yearRange:'2012:2012' даже changeYear: сделала true , чтобы год видеть, календарь показывает 2012 год (он был вискокосный) но 29 февраля нет!!! когда я сделала yearRange:'2012:2015' то при выборе 2012 года 29 февраля появляется...но по умолчанию календарь на 2013 году....а так как мне в итоге выбор года нужно скрыть и динамически менять.......
|
|
04.12.2013, 12:18
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,125
|
|
Сообщение от Sveta
|
показывает 2012 год (он был вискокосный) но 29 февраля нет!!!
|
Цитата:
|
ну шо вы такое говорите ?
|
<!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>
Последний раз редактировалось рони, 04.12.2013 в 12:50.
|
|
04.12.2013, 12:23
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,125
|
|
Sveta,
minDate : '01.01.2012',
maxDate : '31.12.2012', без установки диапазона лет так надёжнее
|
|
04.12.2013, 13:40
|
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 153
|
|
хмм....я не могу задать минимальную и максимальную дату..дело в том что при загрузке у меня установлена дата по умолчанию - первое число текущего месяца, год я не указываю, так как у меня формат даты "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 ,
|
|
|
|