2011-04-11 62 views
19

是否有一个jQuery插件自动创建一个下拉选择年份选择器(这是一个“选择”元素与所有年份开始从当前和追溯到给定年份)?是否有一个jQuery下拉菜单选择器

我不需要日/月(否则我会用datepicker),我只需要一年!

在此先感谢

回答

49

什么刚:

<select name="yearpicker" id="yearpicker"></select> 

然后:

for (i = new Date().getFullYear(); i > 1900; i--) 
{ 
    $('#yearpicker').append($('<option />').val(i).html(i)); 
} 
+0

好主意!!!!谢谢! – 2011-04-11 12:35:43

+1

并非所有的**都有**作为插件(尽管,我必须承认,这本身可以有所帮助)。 +1 – 2011-04-11 12:36:41

+0

最后,我实现了你的想法的“服务器端版本”,因为它也需要填充它,但它是兴奋的我需要!thx再次 – 2011-04-11 13:06:44

2

缠绕代码为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)); 
     } 
    } 
}); 
2

扩展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)); 
} 
} 
0

日期选择器有minViewMode选项。在我来说,我用了日期范围以年:

的JavaScript: $( '输入日期范围。')日期选择器({ 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> 
相关问题