根据发件人日期限制日期

时间:2017-04-21 10:48:45

标签: javascript

我正在尝试根据To日期允许from日期。如果我选​​择from date24-04-2017表示,To date应该允许24-04-2017的日期仅限1}}。我该怎么做?

$(document).ready(function(){
 pastDaysdisable()
})
function pastDaysdisable() {
     var dtToday = new Date();
     var month = dtToday.getMonth() + 1;
     var day = dtToday.getDate();
     var year = dtToday.getFullYear();
     if (month < 10)
         month = '0' + month.toString();
     if (day < 10)
         day = '0' + day.toString();

     var maxDate = year + '-' + month + '-' + day;
     $('#levFrom,#levTo').attr('min', maxDate);
 }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="date" id="levFrom">
<input type="date" id="levTo">

3 个答案:

答案 0 :(得分:1)

以下是jQuery datepicker

的工作示例

每次更改基准日期时,我们会将其值分配给currentDate变量,并将minDate属性应用于我们的#fromDate日期选择器。

阅读我的评论以便更好地理解。

&#13;
&#13;
  $( function() {
    $( "#baseDate" ).datepicker({
      dateFormat: "yy-mm-dd"
    });
    
    // if you set default date
    var currentDate = $( "#baseDate" ).datepicker( "getDate" );
    
    $( "#fromDate" ).datepicker({
      dateFormat: "yy-mm-dd",
      minDate: currentDate
    });
    
    
    // If we change "fromDate"
    $( "#baseDate" ).change(function() {
      
      // get min date
      currentDate = $( "#baseDate" ).datepicker( "getDate" );
      // set min date
      $( "#fromDate" ).datepicker( "option", "minDate", currentDate );
      console.log(currentDate);
    });
    
    
    

  } );
&#13;
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>


 
<p>Date From: <input type="text" id="baseDate"></p>


<p>Min Date: <input type="text" id="fromDate"></p>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您需要在from-date上绑定一些事件。 blurinputchange可以从from-date中捕获所选日期。休息与您在那里完全相同,只需使用Date对象的{ - 1}}。

请注意,下面的示例是Javascript(没有jQuery)。如果你真的需要,你可以很容易地为jQuery调整它。

示例:

value
var from = document.getElementById('levFrom'), 
    to = document.getElementById('levTo') 
;

from.addEventListener('change', limitDates);

function limitDates(e) {
  var fromDate = new Date(from.value), 
      minDate = []
  ;
  minDate[0] = fromDate.getFullYear();
  minDate[1] = (fromDate.getMonth() + 1) < 10 ? '0' + (fromDate.getMonth() + 1) : (fromDate.getMonth() + 1);
  minDate[2] = fromDate.getDate() < 10 ? '0' + fromDate.getDate() : fromDate.getDate();
  to.setAttribute('min', minDate.join('-'));
	
}

答案 2 :(得分:0)

您好使用jquery-ui datepicker()实现了这一点。

$("#valid_from").datepicker({
    minDate: 0,
    onClose: function(selectedDate) {
        $("#valid_upto").datepicker("option", "minDate", selectedDate);
    }
});

$("#valid_upto").datepicker({
    minDate: 0
});

HTML代码:

<input type="text" placeholder="Select from date" id="valid_from" name="valid_from">
<input type="text" placeholder="Select upto date" id="valid_upto" name="valid_upto">