【问题标题】:How to set Min and Max Date in Jquery Date Selection depending on current date如何根据当前日期在 Jquery 日期选择中设置最小和最大日期
【发布时间】:2016-03-10 12:00:11
【问题描述】:

JSFiddle 可以在这里找到:http://jsfiddle.net/PQfDc/682/

我需要它:
根据用户选择输入在 365 天期间选择一个日期。例如,用户输入 01/01/2016,他们只能选择 01/01/2016 和 01/01/2017 之间的日期,之后不能选择。

我还设置了一种方法,如果日期在 1 月 31 日之前,则开始和结束日期的最小值可能会有所不同。例如,用户可以选择的唯一日期是 31/01/2015 - 31/12/2016

var d = new Date(); var Month = d.getMonth();var Month = Month + 1;
var Year = d.getFullYear(); var Day = d.getDate();

if(Day <= 9){ var Day = "0".concat(Day);}  

if(Month <= 9){ var Month = "0".concat(Month);}  

if(Month == 01 && Day <= 31){
var Year = Year - 1;
var MinYear = "31-01-"+Year;
var Year = Year + 1;
var MaxYear = "31-12-"+Year;
} else { 
var MinYear = "31-01-"+Year;
var Year = Year + 1;
var MaxYear = "31-12-"+Year;
} 

$(function() {

     /* global setting */
    var datepickersOpt = {
        dateFormat: 'dd-mm-yy',
        minDate   : 0
    }

    $("#TxtStrtDate").datepicker($.extend({
        onSelect: function() {
            var minDate = $(this).datepicker('getDate');
            minDate.setDate(minDate.getDate()-365); //add two days
            $("#TxtExpDte").datepicker( "option", "minDate", minDate);
        }
    },datepickersOpt));

    $("#TxtExpDte").datepicker($.extend({
        onSelect: function() {
            var maxDate = $(this).datepicker('getDate');
            maxDate.setDate(maxDate.getDate()+365);
            $("#TxtStrtDate").datepicker( "option", "maxDate", maxDate);
        }
    },datepickersOpt));
}); 

【问题讨论】:

标签: javascript jquery date


【解决方案1】:

基于您的 JSFiddle 示例:

var datepickersOpt = {
    dateFormat: 'dd-mm-yy',
    minDate   : 0
}

$("#TxtStrtDate").datepicker($.extend({
    onSelect: function() {
        var minDate = $(this).datepicker('getDate');
        var maxDate = new Date();

        $('#TxtExpDte').datepicker('option', 'minDate', minDate);

        // add 365 days to the selected date
        maxDate.setDate(minDate.getDate() + 365); 
        $("#TxtExpDte").datepicker( "option", "maxDate", maxDate);
    }
},datepickersOpt));

$("#TxtExpDte").datepicker($.extend({},datepickersOpt));

到 JSFiddle 的链接:http://jsfiddle.net/2op64ytL/1/

结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-07
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 2018-05-22
    • 2011-03-05
    相关资源
    最近更新 更多