如何设置出生日期下降的开始年份

时间:2013-12-03 11:58:38

标签: javascript jquery

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

年龄在2000年设置为默认值,用户不能低于13岁或以上才能加入该网站。

我可以调整此代码以每年自动进行默认更改吗?

例如明年该人可以在2001年出生时为13岁,因此默认为2002年后的“2001”等。

任何人都可以帮我自动化这段代码,而不必手动更改吗?

Please see Fiddle

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

1 个答案:

答案 0 :(得分:3)

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

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