jQuery填充的日期选择器有一个月不同步

jQuery populated datepicker is one month out of sync

本文关键字:同步 有一个 选择器 填充 日期 jQuery      更新时间:2023-09-26

我有一个用日期填充下拉选择器的脚本。它基于以下脚本:http://www.javascriptkit.com/script/script2/curdateform2.shtml

它会自动填充今天的日期。

我在年月日添加了一个自定义字段,允许用户将其留空。该字段的添加意味着它显示的不是十一月,而是十月。

jsfiddle在这里:http://jsfiddle.net/87vw93pL/

这是代码:

var daytext=['Leave Blank','1','2','3','4','5','6','7','8','9','10','11','12','13','14','14','15','16','17','18','19','20','21','22','23','24','25', '26','27','28','29','30','31'];
var monthtext=['Leave Blank','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sept','Oct','Nov','Dec'];

function populatedropdown(dayfield, monthfield, yearfield){
var today=new Date()
var blank="blank"
var dayfield=document.getElementById(dayfield)
var monthfield=document.getElementById(monthfield)
var yearfield=document.getElementById(yearfield)

for (var i=0; i<33; i++)
dayfield.options[i]=new Option(daytext[i], daytext[i])
dayfield.options[today.getDate()]=new Option(today.getDate(), today.getDate(), true, true)     //select today's day

for (var m=0; m<13; 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<200; 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
}
populatedropdown("daydropdown", "monthdropdown", "yeardropdown")

我做错了什么

在javascript中,月份是基于0的0-11。。。

0-1月12月11日

相关文章: