2013-05-10 113 views
4

我想知道是否有人可以帮助我。使用Dan Grossman的Bootstrap Date Picker我想在选定的开始日期添加30天,并将其定义为maxDate,以便用户无法选择过去此日期。Bootstrap daterangepicker选择开始日期+ 30天为maxDate

我真的停留在这一点上,我找不到任何与我想要做的相关的文档。这是我的代码;

var min_date = new Date(); 
var max_date = '05/31/2013'; 

$('#limited').daterangepicker(
{ 
    minDate: min_date, 
    maxDate: max_date, 
}, 
function(start, end) { 
    $('#limited') 
     .data("showAddEventDialogue_dateRangeStart", start) 
     .data("showAddEventDialogue_dateRangeEnd", end); 
}); 

任何帮助或建议将非常感激。

非常感谢。

+1

我还没有使用这个模块,但是我可以看到你使用日期对象作为minDate和一个字符串作为maxDate。你有没有试过这样做:'var min_date = max_date = new Date(); max_date.setDate(max_date.getDate()+ 30);' – thebreiflabb 2013-05-10 09:08:58

+0

它为我工作...无需看到答案..谢谢 – 2016-04-01 13:24:06

回答

1

由于thebrieflabb在他的评论中提到,你可以按如下解决这个问题:

var endDate = new Date(); 
endDate.setDate(startDate .getDate()+30); 

你可以找到更多的解决方案in this thread

希望这有助于。

+0

感谢您的。我需要它根据用户选择的开始日期添加30天,而不是从今天开始的30天! – user774715 2013-05-10 11:37:46

3

看来插件只接受minDatemaxDate的具体日期格式,即mm/dd/yyyy

仅仅使用new Date();不幸的是不起作用,因为它返回格式不正确的完整日期。

下面的代码似乎适用于我,它将使用今天总是使用最小和+30最大。

/* Get the code into mm/dd/yyyy format */ 
function getFormatDate(d){ 
    return d.getMonth()+1 + '/' + d.getDate() + '/' + d.getFullYear() 
} 

$(document).ready(function() { 
    var minDate = getFormatDate(new Date()), 
    mdTemp = new Date(), 
    maxDate = getFormatDate(new Date(mdTemp.setDate(mdTemp.getDate() + 30))); 

    $('#daterange').daterangepicker(
    { 
     minDate: minDate, 
     maxDate: maxDate 
    } 
    ); 
}); 
+0

谢谢你。我需要它根据用户选择的开始日期添加30天,而不是从今天开始的30天! – user774715 2013-05-10 11:38:21

+0

没有标准,认真。它接受“mm/dd/yy”,它在.NET中是“MM/dd/yyyy”,而moment.js是moment().format('MM/DD/YYYY')。它们似乎都使用不同的大写形式。与此同时,时刻仅接受ISO日期格式('YYYY-MM-DD'),而datetimepicker(使用MOMENT)期望某些字段的时刻,但显然是格式字符串'mm/dd/yyyy' .format('MM/DD/YYYY')为最小/最大值?这是疯狂的,为什么Flash永远不会死亡,直到网络获得它的$命中。 – Triynko 2015-07-21 18:34:38

0

你可以使用这样的:

var date2 = new Date(); 
date2.setDate(date2.getDate()-1); 
console.log(date2); 
$('#daterange').daterangepicker({ 
    showDropdowns: false, 
    format:'MM/DD/YYYY', 
    maxDate:date2, 
    autoclose: true, 
    autoApply:true, 

}); 

希望这将帮助任何人。