2017-01-16 71 views
1

我試圖從今天起禁用今天的日期和另外6天的日期。禁用DateRangePicker中的某些未來日期

我知道我可以用maxDate做到這一點,但是當我這樣做時,它會禁用所有未來的日期。

我的代碼:

$('input[name="datefilter"]').daterangepicker({ 
     autoUpdateInput: false, 
     maxDate: new Date(), 
     "autoApply": true, 
     locale: { 
     "firstDay": 1, 
     "separator": " - " 
     } 
    }); 

我試着用maxDate: new Date(6)太多,但同樣的錯誤。

有什麼想法?

+0

日期選擇使用哪?你能創建一個工作的例子嗎? (jsfiddle/codepen/snippet?) – Dekel

+0

我使用https://github.com/dangrossman/bootstrap-daterangepicker – Rubyx

+0

現在使用dateranger選擇器,一旦我們知道你使用的庫,它可以幫助:)(檢查我的答案) – Dekel

回答

3

可以使用isInvalidDate函數返回true/false如果日期是有效還是無效:

invalid_dates = ['2017-01-11', '2017-01-12', '2017-01-13'] 
 
$(function() { 
 
    $('input[name="daterange"]').daterangepicker({ 
 
    isInvalidDate: function(date) 
 
    { 
 
     return !!(invalid_dates.indexOf(date.format('YYYY-MM-DD')) > -1); 
 
    } 
 
    }); 
 
});
<!-- Include Required Prerequisites --> 
 
<script type="text/javascript" src="//cdn.jsdelivr.net/jquery/1/jquery.min.js"></script> 
 
<script type="text/javascript" src="//cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script> 
 
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/bootstrap/3/css/bootstrap.css" /> 
 
    
 
<!-- Include Date Range Picker --> 
 
<script type="text/javascript" src="//cdn.jsdelivr.net/bootstrap.daterangepicker/2/daterangepicker.js"></script> 
 
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/bootstrap.daterangepicker/2/daterangepicker.css" /> 
 
<input type="text" name="daterange" value="01/01/2017 - 01/10/2017" />

+0

好抓!掃描選項時,我錯過了那一個。 – krillgar

+0

謝謝@krillgar :)我猜你的投票是你的,表示讚賞! – Dekel

+1

Thx @Dekel!它現在工作:)。 Thx to @krillgar也是如此。 – Rubyx

1

這不是一個錯誤,這是您正在使用的屬性的預期行爲。你告訴它「不允許超過這個日期的任何日期」。根據docs,Dekel在his answer中找到isInvalidDate的選項。

我剛剛刪除了這個答案,但由於指出這不是錯誤,而是正在使用的屬性的行爲,因此決定不這麼做。任何人都應該高舉other answer尋找屬性第一。

+0

Thx,但我在這篇文章中看到http://stackoverflow.com/questions/30331543/disabling-specific-dates-from-html-datepicker-jquery,可以禁用某些特定的日期。也許我可以禁用今天+ 1,今天+ 2等,不是嗎? – Rubyx

+0

這是針對不同的插件。它使用'.datepicker()'調用,而你的'.daterangepicker()'。 – krillgar

相關問題