我可以根据月份更改一个月的天数吗?

时间:2011-03-17 14:13:48

标签: javascript

我正在创建一个表单,我希望它能让这个人过完整的生日。我正在收集他们出生的日,月和年。我有两个问题:

  1. 我可以这样做,如果他们选择二月作为他们的出生月份,它会在“天数”选择框中显示29天,但如果他们选择三月,则会在“天”中显示31天选择框。

  2. 我有一个提示框,在提交之前向他们显示他们的信息。现在它告诉他们,出生日期:月/日/年(例如: 12/6/1970 )。是否有一个代码可以让我这么说,年龄:{年龄} (例如:年龄:34岁)。

    < / LI>

    谢谢!

1 个答案:

答案 0 :(得分:1)

如果您使用的是jQuery,那么您可以查看$.datePicker,它将为您处理月/日情况。 (和其他选项here)。至于格式化,您可以查看$().tmpl

如果您只是使用纯JavaScript,则可以检查月份值,并根据该更新确定该月份的天数。就像这样。

var month_select = document.getElementById("month");
month_select.onchange = function(){
  var month = month_select.options[mySelect.selectedIndex].value, days;
  if(month == 2){ // Feb
    days = 28; // or 29 if you want to check for the leap year as well
  }else if(month % 2){ // if the month is "even"
    days = month <= 7 : 30 : 31; // if the month is odd and between Jan - July, then it will have 30 days, otherwise it will have 31
  }else{
    days = month <= 7 : 31 : 30; // similar to above but when months are odd
  }

  // update days via DOM here
  var options = month_select.options, options_length = options.length;
  if(days > options_length){ // if it has options in days then the currently selected month, then remove some

  }else if(days < options_length){ // if it has less, then add

  } // if it has the same number, then don't do anything
}