проблемы с jQueryUI DatePicker YearRange и ChangeYear
У меня есть datepicker в Форме заявки. Мы разрешаем подавать заявления только в том случае, если дата рождения находится в определенном возрастном диапазоне. Я включил ChangeYear и установил YearRange на "-65: -16". Проблемы у меня следующие:
1 - Когда я выбираю дату без предварительного выбора чего-либо в раскрывающемся списке год, я получаю правильный месяц и день, но я получаю 2016 год как год.
2-пытаясь исправить это, я установил YearRange в "n-65: n-16". Что вызывает год выпадающий список отображает только текущий год (2010). Еще более странно, что если вы выберете дату, вы все равно получите правильный месяц и день и год 2016.
вот код, который я использую для настройки datepicker:
<script type="text/javascript">
$(document).ready(function (e) {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function EndRequestHandler(sender, args) {
$(function () {
$("#DateOfBirth").datepicker({ yearRange: '-65:-13', changeMonth: true, changeYear: true, defaultDate: '1-1-1994', dateFormat: 'mm-dd-yy' })
});
}
$(function () {
$("#DateOfBirth").datepicker({ yearRange: '-65:-13', changeMonth: true, changeYear: true, defaultDate: '1-1-1994', dateFormat: 'mm-dd-yy' })
});
});
</script>
5 ответов
попробуйте использовать "c" для текущего года, например:
$('.datepicker').datepicker({changeYear: true, yearRange : 'c-65:c+10'});
более подробная информация http://api.jqueryui.com/datepicker/#option-yearRange
проверьте настройки defaultDate. Я могу видеть только то, что вы описываете, когда я изменяю дату по умолчанию на что-то вне указанного диапазона лет (т. е. "1-1-2016". Все остальное в коде, который вы разместили, работало на меня.
наткнулся на это. Я не исследовал его дальше, но порядок вызова, похоже, имеет значение.
это работает:
$('DIV#startdate').datepicker( 'option', { dateFormat: 'yy-mm-dd' } );
$('DIV#startdate').datepicker( 'setDate', '10-09-11' );
$('DIV#startdate').datepicker( 'option', { changeYear: true } );
это показывает список год только с 2010:
$('DIV#startdate').datepicker( 'option', { dateFormat: 'yy-mm-dd' } );
$('DIV#startdate').datepicker( 'option', { changeYear: true } );
$('DIV#startdate').datepicker( 'setDate', '10-09-11' );
попробуйте дать диапазон с фактическими значениями года. например,
$('.datepicker').datepicker({changeYear: true, yearRange : '1990:2010'})
они также должны работать с любым dateformat.
попробуйте использовать параметр maxDate и minDate, например:
$(document).ready(function () {
$("#datepicker").datepicker({
yearRange: '-65:-13',
changeMonth: true,
changeYear: true,
defultDate: '1-1-1994',
dateFormat: 'mm-dd-yy',
minDate:"-65Y",
maxDate:"-13Y"
});
});