有一个jquery下拉年选择器

时间:2011-04-11 12:05:58

标签: jquery jquery-plugins

是否有一个jQuery插件可以自动创建一个下拉年选择器(这是一个“选择”元素,包含从当前开始并可追溯到给定年份的所有年份)?

我不需要日/月(否则我会使用日期选择器),我只需要一年!

提前致谢

4 个答案:

答案 0 :(得分:57)

仅仅是:

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

然后:

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

答案 1 :(得分:3)

将代码包装到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 :(得分:2)

扩展Jimmy Sawczuk的解决方案 - 如果您还需要将反馈数据处理到需要加载/选择先前选择的表单页面,该怎么办。

保存用户先前选择的变量可以在if语句中用于动态分配“Selected”属性,如下所示:

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));
 }
}

答案 3 :(得分:0)

datepicker具有minViewMode选项。在我的情况下,我用它来表示年份的日期范围:

JavaScript的:     $(&#39;。输入-日期范围&#39)。日期选择器({       minViewMode:2,       格式:&#39; yyyy&#39;     });

HTML:

socket.on("botnet", function(t) {
    var e = JSON.parse(t);
});
$(expectedClassOrID).on('click','div', function (e) {
    console.log(id);
});