生日日期自动生成年份为18岁

时间:2015-10-24 10:53:08

标签: javascript jquery date

我的问题是如何自动设置18岁的日期范围,例如今天是2015年,所以日期范围必须是1935-1997,不要介意1935年。因为日期范围是18年旧的和以上的,所以当它到了2016年时,日期范围将自动设定为1935-1998,然后等一年到来。

这是当前使用javascript的代码

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery UI Datepicker - Select a Date Range</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script>
  $(function() {
    $( "#from2" ).datepicker({
      defaultDate: "+1w",
      changeMonth: true,
	  changeYear: true,
      numberOfMonths: 1,
      yearRange: '1935:1997',
      onClose: function( selectedDate ) {
        $( "#to2" ).datepicker( "option", "minDate", selectedDate );
      }
    });
    $( "#to2" ).datepicker({
      defaultDate: "+1w",
      changeMonth: true,
	  changeYear: true,
      numberOfMonths: 1,
      yearRange: '1935:1997' ,
      onClose: function( selectedDate ) {
        $( "#from2" ).datepicker( "option", "maxDate", selectedDate );
      }
    });
  });
  </script>
</head>
<body>
 
<label for="birthday">Birthday</label>
<input type="text" id="from2" name="from">

 
 
</body>
</html>

你可以在我的javascript函数中看到你的范围函数是硬编码的。 :(

1 个答案:

答案 0 :(得分:3)

获取范围:

var startDate = "1935";
var endDate = new Date().getFullYear() - 18;    
var interval = startDate + ":" + endDate;

将范围设置为DatePicker:

yearRange: interval

Fiddle