Ответ 1
Как насчет:
<select name="yearpicker" id="yearpicker"></select>
И затем:
for (i = new Date().getFullYear(); i > 1900; i--)
{
$('#yearpicker').append($('<option />').val(i).html(i));
}
есть ли плагин jQuery, который автоматически создает селектор года с выпадающим списком (который является элементом "select", который был запущен с годами, начиная с текущего и начиная с данного года)?
Мне не нужен день/месяц (иначе я бы использовал datepicker), мне просто нужен год!
Заранее спасибо
Как насчет:
<select name="yearpicker" id="yearpicker"></select>
И затем:
for (i = new Date().getFullYear(); i > 1900; i--)
{
$('#yearpicker').append($('<option />').val(i).html(i));
}
Обтекание кода плагином jQuery для выбора лет между началом и концом года:
jQuery.extend(jQuery.fn,{
/*
** Year selection plugin
** Sample usage
** $('#yearpicker').years(2007, 2017);
**
** HTML
** <select name="yearpicker" id="yearpicker"></select>
*/
years: function(start, end) {
for (i = start; i <= end; i++)
{
$(this).append($('<option />').val(i).html(i));
}
}
});
Расширение решения Jimmy Sawczuk - что делать, если вам также необходимо обработать данные обратной связи на странице формы, где необходимо было загрузить/выбрать предыдущий выбор.
Переменная, содержащая предыдущий выбор пользователя, может использоваться в операторе if для динамического назначения атрибута "Выбранный" следующим образом:
for (i = new Date().getFullYear(); i > 1900; i--)
{
if(userselection == i){
$('#yearpicker').append($('<option />').val(i).attr("selected","selected").html(i));
} else {
$('#yearpicker').append($('<option />').val(i).html(i));
}
}
datepicker имеет параметр minViewMode. В моем случае я использовал его для диапазонов дат в годах:
JavaScript: $ ( 'Ввод-DateRange'). DatePicker ({ minViewMode: 2, формат: 'yyyy' });
HTML:
<div class="input-daterange date"id="DataRange">
<input type="text"class="input-small"/>
<span class="add-on">to</span>
<input type="text"class="input-small"/>
</div>