Datepicker-将最大日期设置为当前日期之前的18年

时间:2018-08-22 08:12:31

标签: jquery datepicker jquery-ui-datepicker

HTML:

<input type="text" name="date" id="datepicker" autocomplete="off">

JS:

var maxBirthdayDate = new Date();
maxBirthdayDate.setFullYear( maxBirthdayDate.getFullYear() - 18 );

$( "#datepicker" ).datepicker({
    dateFormat: 'dd.mm.yy',
    changeMonth: true,
    changeYear: true,
    maxDate: maxBirthdayDate
});

JSFIDDLE:

https://jsfiddle.net/z13au9t6/

问题: 尽管将maxDate设置为18年前是可行的,但我现在无法选择1990年以下的年份和8月以上的月份。

enter image description here

3 个答案:

答案 0 :(得分:1)

要实现此目的,您可以使用yearRange。为了简化维护,您可以通过在格式字符串中使用c字符来使用相对于当前日期的范围,如下所示:

$("#datepicker").datepicker({
  dateFormat: 'dd.mm.yy',
  changeMonth: true,
  changeYear: true,
  yearRange: 'c-99:c-18'
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" />
<input type="text" name="date" id="datepicker" autocomplete="off">

答案 1 :(得分:0)

使用年份范围属性,将月份和日期设置为今年8月结束

var maxBirthdayDate = new Date();
maxBirthdayDate.setFullYear( maxBirthdayDate.getFullYear() - 18,11,31);
$( "#datepicker" ).datepicker({
    dateFormat: 'dd.mm.yy',
    changeMonth: true,
    changeYear: true,
    maxDate: maxBirthdayDate,
  yearRange: '1950:'+maxBirthdayDate.getFullYear(),
});

demo

答案 2 :(得分:0)

设置var result = lines // extract the values to compare .Select(line => new { Line = line, ValuesToCompare = new { FirstName = customer.FirstName, LastName = customer.LastName, ... }) }) // keep only those lines that match valuesToCheck .Where(line => valuesToCheck.Contains(line.ValuesToCompare)); 属性,例如:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
    <scope>compile</scope>

它将年份范围设置为-100年和+100年。这样您就可以选择前100年。