Javascript 用当前日期、月份和年份填充下拉列表

Javascript 用当前日期、月份和年份填充下拉列表,javascript,jquery,html,Javascript,Jquery,Html,我可能会问你一个简单的问题,但我还是个新手,所以请有人帮帮我。 我有以下html和jQuery代码: $document.readyfunction{ var d=新日期; var月=d.getMonth+1; var year=d.getFullYear; $month.valmonth; $year.valyear; }; 一月 二月 前进 四月 也许 六月 七月 八月 九月 十月 十一月 十二月 2015 2016 2017 2018 $document.readyfunction{

我可能会问你一个简单的问题,但我还是个新手,所以请有人帮帮我。 我有以下html和jQuery代码:

$document.readyfunction{ var d=新日期; var月=d.getMonth+1; var year=d.getFullYear; $month.valmonth; $year.valyear; }; 一月 二月 前进 四月 也许 六月 七月 八月 九月 十月 十一月 十二月 2015 2016 2017 2018 $document.readyfunction{ var d=新日期; //要测试2016年2月29日,请取消注释以下行 //d=新日期2016,01,29,10,33,30,0// var月=d.getMonth+1; var year=d.getFullYear; var date=d.getDate; $month.valmonth; $year.valyear; $date.empty; 如果月份==1{ 如果$year.val%4==0{
因为i=1;i好吧,与其写很多选项标签,为什么不让一个循环为你做呢。。。 请检查我下面的代码,我会在下面给出一个简短的解释

这段代码使用jQuery,但使用vanilla JS很容易实现

$document.readyfunction{ const monthNames=[一月、二月、三月、四月、五月、六月, 七月、八月、九月、十月、十一月、十二月 ]; 设qntYears=4; 让我们选择year=$year; 让我们选择month=$month; 让我们选择day=$day; 让currentYear=new Date.getFullYear; 对于变量y=0;y对于var d=1;d将事件侦听器放在“月份”下拉列表中。从中可以在空的选择框中创建日期列表。我还将使用矩.js,因为它对日期对象具有附加功能。添加一些验证或使每个选择框都具有默认的选定值

使用普通的olejavascript

let year = document.getElementById('year');
let month = document.getElementById('month');
let days = document.getElementById('days');

month.addEventListener('change', function(event) {
    // do calculations here to find out how many days in month
    let dateString = month + "-" + year;
    let dayLength = moment(dateString, "MM-YYYY").daysInMonth();

    // wipe out all of the days
    days.innerHTML = "";

    // add back all the days.
    for(let g = 1; g < dayLength + 1; g++) {
        let option = document.createElement('option');
        option.value = g;
        days.appendChild(option);
    }
});
这只是一种方法,还有其他附加选项的方法,比如使用documentFragment


或者,您可以使用已经生成并放置在dom中的小模板,这样您只需清空dom元素容器并重新添加dom元素。

d.getDate?@CalvinNunes很好,它会起作用,但是对于闰年前后30天的月份或二月呢?我在下面添加了一个答案,请使用此选项进行检查Flitter中的下拉视图库。感谢您的启动。这样写的话,每个月的所有天都有相同的天数:31,这让我想知道。如果这样写的话,它会一直持续到2018年9月,因为9月有30天,所以day下拉菜单会一直持续到30日吗?是的,我们需要确保我们创建了f相应地选择框。非常感谢!这可能是我能得到的解释最好的答案。我将其标记为我的答案。唯一的问题是我不知道如何关闭此问题,因为我是Stack的新手,没有必要关闭。您将其标记为已接受并放在此处。此问题和答案可以帮助其他人,因此它将保留在此处。很高兴知道这一点我帮了你。封闭式问题就是那些与StackOverflow不符的问题rules@CalvinNunes如果我想打印两次相同的下拉列表,该怎么办?我使用了两次html代码块,但它没有填充第二个。如何使用它填充多个下拉列表?嘿@TsalGiorgos注释不是正确的位置要提出新问题,我建议你在StackOverflow上打开一个新问题,或者看看是否有一个问题可以帮助你谢谢!节省了很多时间!