js——年月日选择功能
html代码:
<div style="margin-top: 270px;width: 210px;height: 20px;margin-left: 580px;">
年 <select id="year" onchange="addDay()" style="border: none;"></select>
月 <select id="month" onchange="addDay()" style="border: none;"></select>
日 <select id="date" onchange="" style="border: none;"></select>
</div>
js代码:
<script>
var year_slt = document.getElementById('year');
var month_slt = document.getElementById('month');
var day_slt = document.getElementById('date'); //提取日期
var now = new Date();
now_year = now.getFullYear(); //获取当前年份
for(i = now_year; i >= now_year - 70; i--){ //从当前年份选近70年
var opt_year = document.createElement('option'); //造元素
opt_year.value = i;
opt_year.innerText = i;
year_slt.appendChild(opt_year); //赋给天数的下拉框
}
for(i = 1; i <= 12; i++){
var opt_month = document.createElement('option');
opt_month.value = i;
opt_month.innerText = i;
month_slt.appendChild(opt_month);
}
for(i = 1; i <= 31; i++){
var opt_day = document.createElement('option');
opt_day.value = i;
opt_day.innerText = i;
day_slt.appendChild(opt_day);
}
// console.log(month_slt)
// day_slt.appendChild(1);
function isRun(year){ //判断闰年和平年,需确定二月份天数
if((year % 4 == 0 && year % 100 !== 0) || year % 400 == 0){
return 29;
}else{
return 28;
}
}
function addDay(){
day_slt.innerHTML = '';
if(month_slt.value == 1 || month_slt.value == 3 || month_slt.value == 5 || month_slt.value == 7
|| month_slt.value == 8 || month_slt.value == 10 || month_slt.value == 12){
for(var i = 1; i <= 31; i++)
var opt_day = document.createElement('option');
opt_day.value = i;
opt_day.innerText = i;
day_slt.appendChild(opt_day);//选出31天的月份,赋天数1~31
}
}else if(month_slt.value == 4 || month_slt.value == 6 || month_slt.value == 9 || month_slt.value == 11){
for(var i = 1; i <= 30; i++){
var opt_day = document.createElement('option');
opt_day.value = i;
opt_day.innerText = i;
day_slt.appendChild(opt_day); //选出30天的月份,赋天数1~30
}
} else{
for(var i = 1; i <= isRun(year_slt.value); i++){
var opt_day = document.createElement('option');
opt_day.value = i;
opt_day.innerText = i;
day_slt.appendChild(opt_day); //确定二月份的天数
}
}
}
</script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)