Javascript或jQuery中的日期、月份和年份

Date,Month and year in Javascript or jQuery

本文关键字:日期 jQuery Javascript      更新时间:2023-09-26

我有出生日期的三个下拉列表的javascript代码:

var monthtext = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sept', 'Oct', 'Nov', 'Dec'];
function populatedropdown(dayfield, monthfield, yearfield) {
    var today = new Date()
    var dayfield = document.getElementById(dayfield)
    var monthfield = document.getElementById(monthfield)
    var yearfield = document.getElementById(yearfield)
    for (var i = 0; i < 31; i++)
        dayfield.options[i] = new Option(i, i + 1)
    dayfield.options[today.getDate()] = new Option(today.getDate(), today.getDate(), true, true) //select today's day
    for (var m = 0; m < 12; m++)
        monthfield.options[m] = new Option(monthtext[m], monthtext[m])
    monthfield.options[today.getMonth()] = new Option(monthtext[today.getMonth()], monthtext[today.getMonth()], true, true) //select today's month
    var thisyear = today.getFullYear()
    for (var y = 0; y < 20; y++) {
        yearfield.options[y] = new Option(thisyear, thisyear)
        thisyear += 1
    }
    yearfield.options[0] = new Option(today.getFullYear(), today.getFullYear(), true, true) //select today's year
}

年份显示20升序。我需要按降序把它设为100。

如何在for循环中更改它?我试着得到了一个无限循环。

除了日期选择器之外,还有其他类似的jquery代码吗??

尝试此功能

function populatedropdown(dayfield, monthfield, yearfield) {
var today = new Date()
var dayfield = document.getElementById(dayfield)
var monthfield = document.getElementById(monthfield)
var yearfield = document.getElementById(yearfield)
for (var i = 0; i < 31; i++)
    dayfield.options[i] = new Option(i, i + 1)
dayfield.options[today.getDate()] = new Option(today.getDate(), today.getDate(), true, true) //select today's day
for (var m = 0; m < 12; m++)
    monthfield.options[m] = new Option(monthtext[m], monthtext[m])
monthfield.options[today.getMonth()] = new Option(monthtext[today.getMonth()], monthtext[today.getMonth()], true, true) //select today's month
var thisyear = today.getFullYear();
for (var y = 0; y < 100; y++) {
    yearfield.options[y] = new Option(thisyear, thisyear)
    thisyear -= 1
}
yearfield.options[0] = new Option(today.getFullYear(), today.getFullYear(), true, true) //select today's year

}

试试这个,没有测试:

for (var y = 100; y >= 0; y--) {
    yearfield.options[y] = new Option(thisyear, thisyear)
    thisyear -= 1
}

您可以尝试反向For循环。

    for (var y = 100; y >=1; y--) {
    yearfield.options[y] = new Option(thisyear, thisyear)
    thisyear += 1
    }