$(.dateselboxes) .change( function(){
var y; y=$("#year").val();
var m; m=$("#month").val();
var d;
//检查闰年
var leapYear;
if(y%4==0)
{
if(y%100==0)
{
if(y%400==0) {leapYear=true;}
else {leapYear=false;}
}
else {leapYear=true;}
}
else {leapYear=false;}
//计算天数
var dz;
if(m==1 || m=3 || m=5 || m=7 || m=8 || m=10 || m=12) {dz=31;}
else if(m==2)
{
if(leapYear==true) {dz=29;}
else {dz=28;}
}
else {dz=30;}
//多次删除最后一个选项
switch(dz)
{
case 28:
for(i=0;i<3;i++)
{$("#day option:last").remove();}
break;
case 29:
for(i=0;i<2;i++)
{$("#day option:last").remove();}
break;
case 30:
$("#day option:last").remove();
break;
default:
var axaxax=0;
break;
}
});
最佳答案
给你,这段代码可以工作(至少在 Chrome 中):
var opts = $('#day option').get();
$('#month, #year').change(function() {
var y = +$('#year').val(),
m = +$('#month').val(),
leap = y % 400 === 0 || y % 100 !== 0 && y % 4 === 0 ? true : false,
days = 30;
switch ( m ) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
days = 31; break;
case 2:
days = leap ? 29 : 28; break;
}
$('#day').empty().append( opts.slice(0, days) );
});
关于javascript - 我的错误在哪里 - Javascript/jQuery 中选择框的日期计算器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4771813/