首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在出生日期下拉列表中设置起始年份

如何在出生日期下拉列表中设置起始年份
EN

Stack Overflow用户
提问于 2013-12-03 19:58:38
回答 1查看 422关注 0票数 0

我有一些代码来显示出生日期的值。我想在这个java脚本中再添加一个函数,但是不确定最好的方法。

年龄默认设置为2000年,用户不能再低了,因为你必须年满13岁或以上才能加入网站。

我是否可以调整此代码以每年自动更改默认设置?

例如,下一年,这个人可以在2001年出生到13岁,因此默认值将是" 2001“,即2002年之后的一年,等等。

有没有人可以帮我自动化这段代码,而不是手动修改它?

Please see Fiddle

代码语言:javascript
复制
var ysel = document.getElementsByName("year")[0],
    msel = document.getElementsByName("month")[0],
    dsel = document.getElementsByName("day")[0];
for (var i = 2000; i >= 1950; i--) {
    var opt = new Option();
    opt.value = opt.text = i;
    ysel.add(opt);
}
ysel.addEventListener("change", validate_date);
msel.addEventListener("change", validate_date);

function validate_date() {
    var y = +ysel.value, m = msel.value, d = dsel.value;
    if (m === "2")
        var mlength = 28 + (!(y & 3) && ((y % 100) !== 0 || !(y & 15)));
    else var mlength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][m - 1];
    dsel.length = 0;
    for (var i = 1; i <= mlength; i++) {
        var opt = new Option();
        opt.value = opt.text = i;
        if (i == d) opt.selected = true;
        dsel.add(opt);
    }
}
validate_date();
EN

回答 1

Stack Overflow用户

发布于 2013-12-03 20:13:03

使用Date obj查找当前年份并减去您的首选年龄

代码语言:javascript
复制
var currentYear = new Date().getFullYear();
for (var i = currentYear-13; i >= 1950; i--) {
    var opt = new Option();
    opt.value = opt.text = i;
    ysel.add(opt);
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20350570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档