jqueryui datepicker yearrange и проблемы с изменением лечения
-
12-10-2019 - |
Вопрос
У меня есть DatePicker в форме заявления. Мы разрешаем только заявки, где дата рождения находится в пределах определенного возрастного диапазона. Я включил изменение, и установил годовой на «-65: -16». Проблемы, которые у меня возникают, заключаются в следующем:
1 - Когда я выбираю дату, не выбирая что -то в течение года, я получаю правильный месяц и день, но я получаю 2016 год как год.
2-Пытаясь исправить это, я установил годовой на «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>
Я надеюсь, что это то, что я сделал неправильно, и кто -то может сказать мне, что это такое. Спасибо за помощь.
Решение
Попробуйте использовать 'C' для текущего года, как:
$('.datepicker').datepicker({changeYear: true, yearRange : 'c-65:c+10'});
Для получения дополнительной информации просмотр http://api.jqueryui.com/datepicker/#option-dyrange
Другие советы
Проверьте настройку по умолчанию. Я могу видеть только то, что вы описываете, когда я изменяю дату по умолчанию на что-то за пределами указанного года (то есть 1-1-2016 '.) Все остальное в опубликованном вами коде сработало для меня.
Наткнулся на это. Я не исследовал это дальше, но заказ вызовов, кажется, имеет значение.
это работает:
$('DIV#startdate').datepicker( 'option', { dateFormat: 'yy-mm-dd' } );
$('DIV#startdate').datepicker( 'setDate', '10-09-11' );
$('DIV#startdate').datepicker( 'option', { changeYear: true } );
Это показывает Listbox Year только с 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'})
Они также должны работать с любой датой форматом.
Попробуйте использовать вариант 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"
});
});