Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.04.2017, 22:50
Интересующийся
Отправить личное сообщение для sergeantpepper Посмотреть профиль Найти все сообщения от sergeantpepper
 
Регистрация: 03.04.2017
Сообщений: 15

Jquery Datepicker баг с выбором года
Добрый день!

При выборе даты из прошлого происходит странный баг:
https://jsfiddle.net/0phm3ds9/3/

Список годов сокращается лишь до одного значения.

Если убрать определение default date, то баг выглядит еще более неадекватно.
Сталкивался ли кто-то с подобным проявлением плагина, как лечится?
Ответить с цитированием
  #2 (permalink)  
Старый 03.04.2017, 23:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

sergeantpepper,
вам нужно определится что будет в maxDate если дата атрибуте ничего нет .

и формировать обьект с опциями лучше заранее
var obj = {};
if ($('input').data('min-year')) obj.minDate = $('input').data('min-year');
Ответить с цитированием
  #3 (permalink)  
Старый 03.04.2017, 23:38
Интересующийся
Отправить личное сообщение для sergeantpepper Посмотреть профиль Найти все сообщения от sergeantpepper
 
Регистрация: 03.04.2017
Сообщений: 15

рони, спасибо!

Однако, думаю от макс даты это не зависит: https://jsfiddle.net/0phm3ds9/6/

Попробуйте убрать default date и попробовать выбрать, например, 1923 год.
Ответить с цитированием
  #4 (permalink)  
Старый 04.04.2017, 00:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

datepicker инициализация из дата-атрибутов
sergeantpepper,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
  <script>
$(function() {
$.datepicker.regional['ru']={
           closeText: 'Закрыть',
           prevText: '&#x3c;Пред',
           nextText: 'След&#x3e;',
           currentText: 'Сегодня',
           monthNames: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
           monthNamesShort: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
           dayNames: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'],
           dayNamesShort: ['вск', 'пнд', 'втр', 'срд', 'чтв', 'птн', 'сбт'],
           dayNamesMin: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
           weekHeader: 'Нед',
           dateFormat: 'dd.mm.yy',
           firstDay: 1,
           isRTL: false,
           showMonthAfterYear: false,
           yearSuffix: ''
    };
$.datepicker.setDefaults($.datepicker.regional['ru']);

var obj = {inline: true,
          language: 'ru',
          changeYear: true,
          changeMonth: true};

var minYear = $('input').data('min-year');
if (minYear) obj.minDate = '01.01.' + minYear;
else minYear = 'c-10'
var maxYear = $('input').data('max-year');
if (maxYear) obj.maxDate = '01.01.' + maxYear;
else maxYear = 'c+10'
var defaultDate = $('input').data('default-date');
if (defaultDate) obj.defaultDate = defaultDate;
obj.yearRange = [minYear,maxYear].join(":") ;

$('input[type="date"]').attr('type','text').datepicker(obj).addClass('date');

});
  </script>
</head>

<body>
  <input type="date" name="date_birth[]" value="" placeholder="дд.мм.гггг" data-min-year="1920" data-default-date="01.01.1920"  />

</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 04.04.2017, 00:31
Интересующийся
Отправить личное сообщение для sergeantpepper Посмотреть профиль Найти все сообщения от sergeantpepper
 
Регистрация: 03.04.2017
Сообщений: 15

рони,

Большое спасибо, что разжевали, как для тупого
Все работает)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Интервалы дат в jQuery UI Datepicker treef jQuery 1 17.06.2016 02:24
увеличить год окончания в datepicker jQuery Scor jQuery 1 29.06.2011 02:55
jQuery DatePicker: формат даты при передаче в get запросе viko_rus jQuery 0 16.02.2011 13:33
Очередной баг jQuery? monolithed jQuery 8 27.01.2011 10:16
jQuery UI datepicker -- не биндится при загрузке mkrylov jQuery 4 20.05.2009 20:36