根据上一个日期选择日期范围

时间:2016-01-12 14:33:59

标签: php jquery date datetime

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

让我们说。

  

从第1天开始

     

至今1

&安培;

  

从第2天开始

     

至日期2

我正在使用日期选择器来处理文本框。如果用户在'从日期1'中选择24-01-2012 &安培; 24-01-2016 in' To Date 1'。然后,我限制用户在'从日期2'中选择日期。从01-01-1935开始 - 在'从日期1'。

中选择的日期
<?
$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可用。如何限制用户在&#39;从日期2&#39;中选择日期?来自01-01-1935 -To- 'FromDate1'

$(".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: '<?php echo $past_year . ':' . $current_year; ?>',。有没有办法使用FromDate1代替$current_year

我从那以后一直在努力。我不善于jquery,所以我无法做到。任何帮助/提示都很明显。请帮忙。

2 个答案:

答案 0 :(得分: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
});

答案 1 :(得分:0)

试试这个

Row_ID  Client_ID  Status_ID  From_date           To_date            Rank_ID
  1     123456       4        20/12/2007 18:02    20/12/2007 18:07    1
  5     123456       4        20/12/2007 18:07    20/12/2007 18:50    1
  6     123456       4        20/12/2007 18:50    21/12/2007 10:38    1
  7     123456       4        21/12/2007 10:38    21/12/2007 16:39    1
 11     123456       5        21/12/2007 16:39                        2
  2     789087       4        20/12/2007 18:02    20/12/2007 18:07    3
  3     789087       4        20/12/2007 18:07    20/12/2007 18:50    3
  4     789087       4        20/12/2007 18:50    21/12/2007 10:38    3
  8     789087       4        21/12/2007 10:38    21/12/2007 17:54    3
  9     789087       4        21/12/2007 17:54    21/12/2007 18:32    3
 10     789087       4        21/12/2007 18:32    22/12/2007 06:48    3
 12     789087       5        22/12/2007 06:48    22/12/2007 10:53    4
 13     789087       4        22/12/2007 10:53    22/12/2007 11:51    3
 14     789087       5        22/12/2007 11:51                        4