【问题标题】:Select date range based upon previous date根据前一个日期选择日期范围
【发布时间】:2016-01-12 14:33:58
【问题描述】:

我有 2 个日期文本框。一个是From Date,另一个是To Date

让我们说。

从日期 1 开始

截至日期 1

&

从日期 2 开始

截至日期 2

我正在为文本框使用日期选择器。如果用户在“从日期 1”中选择 24-01-2012,在“截止日期 1”中选择 24-01-2016。然后,我必须限制用户从 01-01-1935 到“从日期 1”中选择的“从日期 2”中选择日期。

<?
$current_year = date("Y");
$past_year = $current_year - 80;
?>

我将日期存储为

var FromDate1= $("#FromDate1").val(); 
var ToDate1= $("#ToDate1").val(); 

var FromDate2= $("#FromDate2").val(); 
var ToDate2= $("#ToDate2").val(); 

在这里,$past_year$current_year 可用。如何限制用户从 01-01-1935 -To- 'FromDate1' 选择“从日期 2”中的日期。

$(".addmorefromP").datepicker({
    changeYear: true,
    maxDate: new Date(),
    changeMonth: true,
    yearRange: '<?php echo $past_year . ':' . $current_year; ?>',
    dateFormat: 'mm-dd-yy',
    onClose: function () {
      $(this).valid();
    }
});

这里使用yearRange: '&lt;?php echo $past_year . ':' . $current_year; ?&gt;',。有什么方法可以使用FromDate1 代替$current_year

我已经尝试了 2 个小时。我不擅长 jquery,所以我无法做到。任何帮助/提示都是可观的。请帮忙。

【问题讨论】:

标签: php jquery date datetime


【解决方案1】:

请看下面的代码。可能会有帮助。

小提琴链接:http://jsfiddle.net/pqhtt7gb/5/

HTML:

<div id="date1">
     FromDate1: <input id="FromDate1" data-index="0" class="datepickerStart" type="text" />
     ToDate1: <input id="ToDate1" data-index="0" class="datepickerEnd" type="text" />
</div> 

<div id="date2">
     FromDate2: <input id="FromDate2" data-index="1" class="datepickerStart" type="text" />
     ToDate2: <input id="ToDate2" data-index="1" class="datepickerEnd" type="text" />
</div>

JQuery 代码:

$(".datepickerStart").datepicker({
    constrainInput: true,
    changeMonth: true,
    changeYear: true,
    firstDay: 1,
    numberOfMonths: 1,
    onClose: function (selectedDate, obj) {
        var index = obj.input.data("index");
        $(".datepickerEnd[data-index="+index+"]").datepicker("option", "minDate", new Date(selectedDate));
        if(index == 0){
            $(".datepickerStart[data-index=1],.datepickerEnd[data-index=1]").datepicker("option", "maxDate", new Date(selectedDate));

        }
    }
});

var currentDate = new Date();
var currentYear = currentDate.getFullYear();
var pastYear = currentYear - 80;
var pastDate = new Date(pastYear+"/01/01");

$(".datepickerStart[data-index=1]").datepicker("option", "minDate", pastDate);

$(".datepickerStart[data-index=1]").datepicker( "setDate", pastDate);

$(".datepickerEnd").datepicker({
    constrainInput: true,
    changeMonth: true,
    changeYear: true,
    firstDay: 1,
    numberOfMonths: 1
});

【讨论】:

  • 古德一维杰。谢谢。 :)
  • 欢迎@NanaPartykar - 你的个人资料描述太棒了...:)!
  • 谢谢@VijayDeenanathChauhan。 :) (Y)
【解决方案2】:

试试这个

$(".addmorefromP").datepicker({
        changeYear: true,
        maxDate: new Date(),
        changeMonth: true,
        minDate:new Date(<?php echo $past_year;?>),
        maxDate:new Date(<?php echo $current_year;?>),
        //yearRange: '<?php echo $past_year . ':' . $current_year; ?>',
        dateFormat: 'mm-dd-yy',
        onClose: function () {
          $(this).valid();
        }
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-11
    • 2017-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    相关资源
    最近更新 更多