2016-06-21 131 views
1

我使用两个日期选择daterangepicker。这工作完美,但如何禁用过去的日期。下面是我的代码如何在daterangepicker中禁用过去的日期?

JS /网站/日期范围/ moment.min.js“>
<script type="text/javascript" src="<?php echo base_url();?>js/site/daterange/daterangepicker.js"></script> 
    <link rel="stylesheet" type="text/css" href="<?php echo base_url();?>css/site/daterangepicker.css" /> 
    <script type="text/javascript"> 
     $(function() { 
     $('input[name="checkin"],input[name="checkout"]').daterangepicker({ 
      autoUpdateInput: false, 
      locale: { 
       cancelLabel: 'Clear' 
      } 
     }); 

     $('input[name="checkin"],input[name="checkout"]').on('apply.daterangepicker', function(ev, picker) { 
      //$(this).val(picker.startDate.format('MM/DD/YYYY') + ' - ' + picker.endDate.format('MM/DD/YYYY')); 
      $('#checkin').val(picker.startDate.format('MM/DD/YYYY')); 
      $('#checkout').val(picker.endDate.format('MM/DD/YYYY')); 

     }); 

     $('input[name="checkin"],input[name="checkout"]').on('cancel.daterangepicker', function(ev, picker) { 
      $(this).val(''); 
     }); 

     }); 

回答

1

所以据我可以从你的代码中看到要禁用日期是过去所以有多种方法可以做这样的事情,但我认为最简单的方法是获取文件加载当前日期并将其设置为日期范围选择器的开始日期。

http://www.daterangepicker.com/#options应该给你例子解释startDate语法来做同样的事情,代码找到th中的当前日期电子邮件中表示格式可以如下显示:

var today = new Date(); 
var dd = today.getDate(); 
var mm = today.getMonth()+1; //January is 0! 
var yyyy = today.getFullYear(); 
if(dd<10){ dd='0'+dd } 
if(mm<10){ mm='0'+mm } 
var today = dd+'/'+mm+'/'+yyyy; 

今天在这里商店,你需要的,可以设置为起始日期属性格式的字符串形式。

+0

对于我们美国人来说,看日期的顺序。我们需要'var today = mm +'/'+ dd +'/'+ yyyy;'我在盯着它看了30分钟后才点击。 – HPWD

2

我有同样的问题。我检查了http://www.daterangepicker.com/#options,在我看来,minDate会完成这项工作。

var today = new Date(); 
    var dd = today.getDate(); 
    var mm = today.getMonth()+1; //January is 0! 
    var yyyy = today.getFullYear(); 
    if(dd<10){ dd='0'+dd } 
    if(mm<10){ mm='0'+mm } 
    var today = dd+'/'+mm+'/'+yyyy; 
    $('input[name="daterange"]').daterangepicker({ 

      minDate:today 
    });