用户选择日期10年从今天日期jquery日期选择器

User select date 10 years from today date jquery datepicker

本文关键字:日期 jquery 选择器 今天 10年 选择 用户      更新时间:2023-09-26

在我当前的代码中工作的jquery日期选择器。我希望日期选择器应该显示从1900年到今天的日期用户必须从今天的日期选择前10年,如果在情况下用户选择昨天的日期或今天的日期或一个月前的日期错误消息应该填充在错误消息字段

这是我当前的Jquery代码

$(function() {
    $( "#datepicker" ).datepicker({
          changeMonth: true,
          changeYear: true,
        yearRange: '-115:+1M'
    }).on('change',function(){
        alert("check");
    });
 });

这里是小提琴链接

请帮帮我

谢谢,问候马哈德文

您可以在日期拾取器本身提供的onSelect:fn(){}中进行所有计算。您可以从您选择的函数的参数名称中获得选定的值,我已经给了它名称date。现在,当您从这里获得日期时,您可以将其转换为dateObject以从中提取年份,就像您需要使用新的日期对象获取当前年份一样。

$(function() {
  $("#datepicker").datepicker({
    changeMonth: true,
    changeYear: true,
    yearRange: '-115:+0M',
    onSelect: function(date) { // bind the builtin onSelect event
                               // which gets you the selected date
      var selYear = new Date(date).getFullYear(); // get the full year of selected date 
      var currYear = new Date().getFullYear(); // get the current year
      if ((currYear - selYear) > 10) { // check in the if conditon for 10 years
        $('#display_error').html('You should choose dates from last 10 years only.');
        this.value='';
      }
    }
  });
});
<link href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<p>Date:
  <input type="text" id="datepicker">
</p>
<label id="display_error" class="display_error"></label>

ok试试这个http://jsfiddle.net/bxh5eq1f/

Javascript

$(function() {
        $( "#datepicker" ).datepicker({
              changeMonth: true,
              changeYear: true,
            yearRange: '-115:+1M',
            maxDate:new Date(),
        }).on('change',function(){
            today = new Date();
            tenYearBefore = new Date().setYear(new Date().getFullYear() -10);
            selected = new Date($(this).val());
           if(selected>tenYearBefore) {
            $(".display_error").show();   
           } else {
               $(".display_error").hide();
           }
        });
  });

让我知道它是否有效