Jquery Datepicker баг с выбором года
Добрый день!
При выборе даты из прошлого происходит странный баг: https://jsfiddle.net/0phm3ds9/3/ Список годов сокращается лишь до одного значения. Если убрать определение default date, то баг выглядит еще более неадекватно. Сталкивался ли кто-то с подобным проявлением плагина, как лечится? |
sergeantpepper,
вам нужно определится что будет в maxDate если дата атрибуте ничего нет . и формировать обьект с опциями лучше заранее var obj = {}; if ($('input').data('min-year')) obj.minDate = $('input').data('min-year'); |
рони, спасибо!
Однако, думаю от макс даты это не зависит: https://jsfiddle.net/0phm3ds9/6/ Попробуйте убрать default date и попробовать выбрать, например, 1923 год. |
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: '<Пред', nextText: 'След>', 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> |
рони,
Большое спасибо, что разжевали, как для тупого :) Все работает) |
Часовой пояс GMT +3, время: 02:47. |